今天打算总结一下各自文件上传下载技术,结果尽然在一个小问题上窝心了 !
在这说说,大家也好避免!
上传JSP代码:
jspUpload.jsp
     <form action="jspReslut.jsp" method="post" enctype="multipart/form-data" >
      <input type="file" name="myfile" id="myfile">
      <input type="submit" value="提交"/>
     </form>
打印JSP jspReslut.jsp代码:
<%
  InputStream in = request.getInputStream(); 
  BufferedReader br = new BufferedReader(new InputStreamReader(in));
  String line=null;
  while((line=br.readLine())!=null){
  out.println(line);
  }%>
在jspUpload提交一个文件到jspReslut尽然显示为空。调用request.getInputStream 和request.getReader()都返回空!页面输出null.
找了半天错,最后把web.xml下的struts2下的拦截器配置去掉。总算输入流不为空了!
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
以前没留意这个错误!大家遇到过吗?struts2拦截器究竟干了哪些?详细原因还不是太清楚。哈哈,大家说说啊!我用的struts2.0.14。用了这么久真没发现过这个!