package smart.upload.struts2;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;import org.apache.struts2.ServletActionContext;import smart.upload.bean.User;
import smart.upload.util.TimeStamp;import com.jspsmart.upload.SmartUpload;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport {
public String upload() throws Exception{
//加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//连接数据库,下面的root和123456是连接MySql数据库的账户
String url="jdbc:mysql://localhost:3306/jspsmartupload?user=root&password=123456&useUnicode=true&characterEncoding=utf-8";
Connection conn=DriverManager.getConnection(url);
// 获取一个pageContext实例
//PageContext pagecontext=JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);
//获取SmartUpload实例
SmartUpload su=new SmartUpload();
//初始化SmartUpload
su.initialize(ServletActionContext.getPageContext().getServletConfig(),request,response); //上传文件
su.upload();
//获取上传文件名
String photoName=st.getStimeStamp()+"."+su.getFiles().getFile(0).getFileExt();
//获取上传文件地址
String fileAddress=ServletActionContext.getServletContext().getRealPath("/")+"upload/"+photoName;
Map session=ActionContext.getContext().getSession();
session.put("FILEADDRESS", fileAddress);
su.getFiles().getFile(0).saveAs(fileAddress);
PreparedStatement pstmt=conn.prepareStatement("insert into image(image) values(?)");
pstmt.setString(1, photoName);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
PreparedStatement pstmt1=conn.prepareStatement("select * from image ");
ResultSet rs1=pstmt1.executeQuery();
if(rs1.next()){
int accId=rs1.getInt(1);
String image=rs1.getString(2);
User u=new User(accId,image);
users.add(u);
}
}
return "show";
}
TimeStamp st=new TimeStamp();
public TimeStamp getSt() {
return st;
}
public void setSt(TimeStamp st) {
this.st = st;
}
private List<User> users=new ArrayList<User>();
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
private HttpServletRequest request=ServletActionContext.getRequest();
private HttpServletResponse response=ServletActionContext.getResponse();
private String config;
public String getConfig() {
return config;
}
public void setConfig(String config) {
this.config = config;
}
}
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;import org.apache.struts2.ServletActionContext;import smart.upload.bean.User;
import smart.upload.util.TimeStamp;import com.jspsmart.upload.SmartUpload;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport {
public String upload() throws Exception{
//加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//连接数据库,下面的root和123456是连接MySql数据库的账户
String url="jdbc:mysql://localhost:3306/jspsmartupload?user=root&password=123456&useUnicode=true&characterEncoding=utf-8";
Connection conn=DriverManager.getConnection(url);
// 获取一个pageContext实例
//PageContext pagecontext=JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);
//获取SmartUpload实例
SmartUpload su=new SmartUpload();
//初始化SmartUpload
su.initialize(ServletActionContext.getPageContext().getServletConfig(),request,response); //上传文件
su.upload();
//获取上传文件名
String photoName=st.getStimeStamp()+"."+su.getFiles().getFile(0).getFileExt();
//获取上传文件地址
String fileAddress=ServletActionContext.getServletContext().getRealPath("/")+"upload/"+photoName;
Map session=ActionContext.getContext().getSession();
session.put("FILEADDRESS", fileAddress);
su.getFiles().getFile(0).saveAs(fileAddress);
PreparedStatement pstmt=conn.prepareStatement("insert into image(image) values(?)");
pstmt.setString(1, photoName);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
PreparedStatement pstmt1=conn.prepareStatement("select * from image ");
ResultSet rs1=pstmt1.executeQuery();
if(rs1.next()){
int accId=rs1.getInt(1);
String image=rs1.getString(2);
User u=new User(accId,image);
users.add(u);
}
}
return "show";
}
TimeStamp st=new TimeStamp();
public TimeStamp getSt() {
return st;
}
public void setSt(TimeStamp st) {
this.st = st;
}
private List<User> users=new ArrayList<User>();
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
private HttpServletRequest request=ServletActionContext.getRequest();
private HttpServletResponse response=ServletActionContext.getResponse();
private String config;
public String getConfig() {
return config;
}
public void setConfig(String config) {
this.config = config;
}
}
protected HttpServletRequest request = ServletActionContext.getRequest();
protected HttpServletResponse response = ServletActionContext.getResponse();
request.getSession().getServletContext().getPageContext()试下