¿Cómo descargar el archivo de url usando Spring MVC?

Tengo una opción de descarga en mi jsp como esta

<a href='<c:url value="/licensing/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>

<img src="/images/download.gif" alt="Download" border="0" align="right">

En la "url" anterior se encuentra la ubicación del archivo y el nombre es el nombre del archivo. Al hacer clic en la opción de descarga en jsp iam, se llama al método del controlador, en el controlador

public ModelAndView download(HttpServletRequest request, HttpServletResponse response, DevTechBean devTechBean) throws Exception {
        cat.debug("MySuiteListController: download: begin");
        ModelAndView modelView = super.handleLicensingRequest(request, response);
        String name = request.getParameter("name");

        String url1 = request.getParameter("downloadUrl");
        cat.debug(" download: url ="+url1);

        String downloadurl1="https://my.net:8869"+url1;
        cat.debug(" download: downloadurl ="+downloadurl1);
    try{
        URL url = new URL(downloadurl1);  
        //response.setHeader("Content-Type", "text/csv");  
        response.setHeader("Content-disposition", "attachment;filename="+name);
        URLConnection connection = url.openConnection();
        InputStream stream = connection.getInputStream();
        BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
        int len;
        byte[] buf = new byte[1024];
        while ((len = stream.read(buf)) > 0) {
          outs.write(buf, 0, len);
        }
        outs.close();
    }
    catch (MalformedURLException e) { 
        cat.error("Error occurrred in url");

    } 
    catch (IOException e) { 
        cat.error("Error occurrred ");

    }
        String viewName = "swl_download";
    modelView.setViewName(viewName);
return modelView;       

}

Pero cuando hago clic en descargar, obtengo una excepción de archivo no encontrado. Estoy pensando que el problema se debe al valor de la url. En el iam anterior tiene valor de downloadurl = / files / download / hai.txt

cuando doy

<a href="${namelist.url}"/>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a><br/><br/></td>

Al hacer clic, el archivo se abre en el navegador con la URL.https://my.net:8869//files/download/hai.txt(but aquí para href iam que proporciona solo este enlace "/files/download/hai.txt" no sé cómo está llegando el enlace completo.

pero si da un enlace como este para llamar al controlador para abrir ese archivo como emergente.

<a href='<c:url value="/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>

Se está obteniendo el archivo de excepción no encontrada. Creo que es debido que descargue Url.so he agregado como esto arriba

String downloadurl1="https://my.net:8869"+url1;

Pero estoy recibiendo el archivo no encontrar la excepción. Por favor, ayúdame a resolver esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta