本人想用jsp做个小小的网页,网页服务器是tomcat5.5。一共就两个jsp页面。第一个说白了就是html页面,是用来显示的。
     页面中有一个文本框(显示要上传的文件的路径和文件名)。一个浏览的按钮(单击该按钮选择要上传的文件,其路径和文件名会显示在前面那个文本框中)。
     当然也可以在文本框中手动输入要上传的文件路径名,这样就可能包括客户端本地的(如C:/)和网络的(如http://)文档。
      还有一个是触发事件按钮,单击该按钮将会触发另一个jsp页面,并将上传的文件发送到服务器端。
      另一个jsp页面作为服务器端,根据得到的文件路径(或得到的文件)调用后台的一个自定义的java处理类从该文件中提取需要的数据(实际上我只需要XHTML文件),然后将得到的数据以文件的形式发送到客户端,要求客户端进行文件的下载。
     上面就是本人想要实现的功能,由于jsp中文件的上传和下载比较麻烦,我想要用组件,本来想用jspSmartUpload,但是好像已经过时了,既没有更新,官方网站也关闭了。所以现在想要用commons-fileupload组件。不知道可不可以,还是要自己写。请大家给个建议。

解决方案 »

  1.   

    这些组件都可以用啊,有什么不可以的,你可以去下一个demo,照着做就好了
      

  2.   

    不好意思啊,我讲的太宽了,现在我自己找到了jspSmartUpload的组件,因为它使用起来比较简单,我就试着用起来,可是在使用jspSmartUpload组件上传文件时产生了异常,下载文件没问题,请大家帮我看一下,好吗?
    jsp代码如下:
    <%@ page import="java.util.*, com.jspsmart.upload.*"  %>
    <%
      SmartUpload su=new SmartUpload();
      su.initialize(pageContext);
      su.upload();
      int count=su.save("e:/jsp/upload");
      out.println(count+" files are uploaded succesfully!!");
    %>当上传文件为空时,会正确的输出 0 files are uploaded succesfully!!
    可是随便上传一个doc文件就出现了异常如下:HTTP Status 500 - type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /download.jsp:74:   SmartUpload su=new SmartUpload();
    5:   su.initialize(pageContext);  
    6:   su.upload();
    7:   int count=su.save("e:/jsp/upload");
    8:   out.println(count+" files are uploaded succesfully!!");
    9: 
    10: %>
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause java.lang.IllegalArgumentException: This path does not exist (1135).
    com.jspsmart.upload.SmartUpload.getPhysicalPath(SmartUpload.java:1086)
    com.jspsmart.upload.File.saveAs(File.java:91)
    com.jspsmart.upload.SmartUpload.save(SmartUpload.java:405)
    com.jspsmart.upload.SmartUpload.save(SmartUpload.java:376)
    org.apache.jsp.download_jsp._jspService(download_jsp.java:50)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)大家能不能帮我看一下啊