本人新手,在学struts2,在提交表单后总是抛出java.lang.InstantiationException异常。
jsp页面如下:
- HTML code
<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%><%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <s:form action="upload" enctype="multipart/form-data" theme="simple"> <table border="1" align="center"> <tr> <td> username: </td> <td> <s:textfield name="username"></s:textfield> </td> </tr> <tr> <td> passwors: </td> <td> <s:password name="password"></s:password> </td> </tr> <tr> <td> file: </td> <td> <s:file name="file"></s:file> </td> </tr> <tr> <td> <s:submit value="submit"></s:submit> </td> <td> <s:reset value="reset"></s:reset> </td> </tr> </table> </s:form> </body></html>
action代码如下:
- Java code
package com.test.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public abstract class UploadAction extends ActionSupport { private String username; private String password; private File file; private String fileFileName; private String fileContentType; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public String getFileContentType() { return fileContentType; } public void setFileContentType(String fileContentType) { this.fileContentType = fileContentType; } public String execute()throws Exception { InputStream is = new FileInputStream(file); String root = ServletActionContext.getRequest().getRealPath("/upload"); File destfile = new File(root,this.getFileFileName()); OutputStream os = new FileOutputStream(destfile); byte[] buffer = new byte[400]; int length = 0; while((length=is.read(buffer))>0) { os.write(buffer,0,length); } is.close(); os.close(); return SUCCESS; }}