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