jsp+servlet上传

今天很是郁闷,简简单单的一个利用jsp+servlet上传我就做了一个下午,到最后还是没成功.也没啥高深的.就是利用jspsmartupload这个组件.中间代码重要的也无非是几行代码.有几点疑问.先记录下来:<wbr></wbr>
1.我通过jsp页面提交到一个servlet中去处理上传.jsp页面用的是meth="post".结果在servlet中用request.getParamter();硬是取不到值;用get是可以的.不知道怎么解决?<wbr></wbr>
2.利用jspsmartupload组件的时候.<wbr></wbr>

java 代码
  1. //   新建一个SmartUpload对象   
  2.   SmartUpload su = new SmartUpload();    
  3.   
  4. //  获得上传文件的全物理路径   
  5.   String fpath=request.getParameter("file1");   
  6.   System.out.println(fpath);    
  7.   
  8.   //获得上传文件的文件名   
  9.   String[] files=fpath.split("\\\\");  
  10.   String fname = files[files.length-1];  
  11.   System.out.println(fname);   
  12.  
  13.    try {  
  14.     System.out.println("ddddd");   
  15.  //    上传初始化  
  16.     su.initialize(pageContext);   
  17.     System.out.println("cccc");   
  18. //     限制每个上传文件的最大长度。  
  19. //    su.setMaxFileSize(10000000);   
  20. //     限制总上传数据的长度。  
  21. //    su.setTotalMaxFileSize(20000000);   
  22. //     设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。  
  23.     su.setAllowedFilesList("doc,txt");  
  24. //     设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,  
  25. //    jsp,htm,html扩展名的文件和没有扩展名的文件。  
  26. //    su.setDeniedFilesList("exe,bat,jsp,htm,html,,");  
  27. //     上传文件  
  28.     su.upload();  
  29. su.save("upload/");   

可是在servlet里面是没有pageContext这个隐士对象的.怎么初始化这个上传组件呢?

java 代码
  1. java.lang.NegativeArraySizeException   
  2.  at com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:218)   
  3.  at org.apache.jsp.result_jsp._jspService(result_jsp.java:85)   
  4.  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)   
  5.  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)   
  6.  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)   
  7.  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)   
  8.  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)   
  9.  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)   
  10.  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)   
  11.  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)   
  12.  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)   
  13.  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)   
  14.  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)   
  15.  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)   
  16.  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)   
  17.  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)   
  18.  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)   
  19.  at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)   
  20.  at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)   
  21.  at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)   
  22.  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)   
  23.  at java.lang.Thread.run(Thread.java:595)   


唉..不知道是我把问题弄复杂化了还是怎么的..忘一二啊.

<wbr></wbr>
3.当我在把处理页面由servlet转化到jsp页面中的时候,pageContext的问题得到了解决.但是同上的代码.却在su.upload()方法的时候抛出异常.<wbr></wbr>

展开阅读全文

没有更多推荐了,返回首页