Struts2中上传文件报错
来源:互联网 发布:ubuntu安装老gcc 编辑:程序博客网 时间:2024/06/06 15:35
今天学习Struts2框架上传功能时,出了个小错误,获取不到用户的上传文件的文件名的值,而且页面也报了个空指针异常。
异常报告信息如下:
:
控制台界面如下:
uploadFile代码如下:
public class uploadFile extends ActionSupport{
private File myFile;
private String myFileContentType;
private String myFileFileName;
private String destPath;
public String execute()
{
/* 复制文件的路径 */
destPath = "F:/test";
try{
System.out.println("上传文件的文件名: " + myFile);
System.out.println("复制文件的路径中的文件名: " + myFileFileName);
//在指定路径下生成新的文件
File destFile = new File(destPath, myFileFileName);
//复制文件
FileUtils.copyFile(myFile, destFile);
}catch(IOException e){
e.printStackTrace();
return ERROR;
}
return SUCCESS;
}
public File getMyFile() {
return myFile;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
public String getMyFileContentType() {
return myFileContentType;
}
public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}
public String getMyFileFileName() {
return myFileFileName;
}
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
}
Struts.xml代码如下:
<package name="package" extends="struts-default">
<action name="upload" class="com.students2.action.uploadFile" >
<interceptor-ref name="basicStack" />
<interceptor-ref name="fileUpload" >
<param name="allowedExtensions">
png,bmp,jpg,doc,xls,txt
</param>
</interceptor-ref>
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
jsp代码如下:
<form action="upload" method="post" enctype="multipart/form-data">
<label for="myFile">上传文件:</label>
<input type="file" name="myFile" />
<input type="submit" value="确定"/>
</form>
找了好久的错误才发现是Struts.xml中的拦截器出了问题,如果basicStack拦截器在fileUpload之前的话就会导致出现空指针异常。
解决方法:
把basicStack拦截器放在fileUpload之后
struts.xml代码如下:
<package name="package" extends="struts-default">
<action name="upload" class="com.students2.action.uploadFile" >
<!-- 文件上传拦截器要在核心拦截器之前,不然会空值 -->
<interceptor-ref name="fileUpload" >
<param name="allowedExtensions">
png,bmp,jpg,doc,xls,txt
</param>
</interceptor-ref>
<interceptor-ref name="basicStack" />
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
然后运行程序:
文件也出现在了对应的位置:
程序完美运行!
- Struts2中上传文件报错
- Struts2中使用Fckeditor上传文件报错
- uploadify 控件 在struts2中 上传大文件 提交报错 HTTP Error (404)
- Struts2实现文件上传报错(一)
- Struts2实现文件上传报错(二)
- Struts2实现文件上传报错(三)
- Struts2实现文件上传报错(四)
- cos在Struts2上传文件IO报错及其解决方案
- Struts2中处理文件上传
- struts2中实现文件上传
- Struts2中实现文件上传
- Struts2中多文件上传
- Struts2导入文件报错
- struts2 文件上传时报错
- Struts2 上传文件报错: Unable to find 'struts.multipart.saveDir' property setting.
- Struts2 上传文件报错: Unable to find 'struts.multipart.saveDir' property setting.
- Struts2文件上传报错 Could not find action or result 或 Error setting expression...
- 关于struts2上传文件报错“No result defined for action and result input”
- String.intern方法的理解
- PHP动态函数执行与匿名函数执行
- 树莓派3下开启SSH服务
- 九九乘法表
- DirectX11笔记(七)--Direct3D渲染3--INDICES AND INDEX BUFFERS
- Struts2中上传文件报错
- perl中单引号和双引号字符串区别
- eclipse+hadoop环境搭建及注意事项
- 操作表格
- MAC Elasticsearch安装
- junit测试spring整合activeMQ报错:java.lang.IllegalStateException: Failed to load ApplicationContext
- IPC进程间通信原理分析
- Python函数式编程——map()、reduce()
- Python爬取妹子网图片