Jak pobrać plik z adresu URL za pomocą Spring MVC?

Mam taką opcję pobierania w moim jsp

<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">

W powyższym „url” jest lokalizacja pliku, a nazwa to nazwa pliku. Kliknięcie opcji pobierania w jsp iam wywołuje pobieranie metody kontrolera w kontrolerze

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;       

}

Ale kiedy klikam na pobieranie, otrzymuję plik, którego nie znaleziono. Uważam, że problem wynika z wartości adresu URL. W powyższym mam wartość downloadurl = / files / download / hai.txt

kiedy daję

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

po kliknięciu plik otwiera się w przeglądarce z adresem URLhttps://my.net:8869//files/download/hai.txt(but tutaj dla href podam tylko ten link "/files/download/hai.txt" nie wiem jak nadchodzi cały link.

ale jeśli dasz taki link, zadzwoń do kontrolera, aby otworzyć ten plik jako wyskakujący.

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

pobiera wyjątek pliku nie znaleziony. Myślę, że jest to spowodowane tym, że downloadUrl.so dodałem w ten sposób powyżej

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

Ale otrzymuję plik nie znaleźć wyjątku. Pomóż mi rozwiązać ten problem.

questionAnswers(2)

yourAnswerToTheQuestion