【www.gdgbn.com--Action】

本文章这里为各位朋友免费提供一款jsp完整文件上传哦,如果你正在看这款文件上传代码的话不防进来看看吧,好了费话不说多了。

actionform,
package tester.business.maitain;

import org.apache.struts.action.*;
import javax.servlet.http.*;
import org.apache.struts.upload.*;

public class MaintainForm
extends ActionForm {

/** private String p_title;
private int post_index;
private String issue_time;
private String issue;
private String p_content;
private String p_accessory;
private int p_id;
private java.util.ArrayList post_indexOpts;
*/
private Trainplan trainPlan = new Trainplan();
private org.apache.struts.upload.FormFile theFile1;
private org.apache.struts.upload.FormFile theFile2;
private org.apache.struts.upload.FormFile theFile3;

public String getP_title() {
return trainPlan.getP_title();
}

public void setP_title(String p_title) {
trainPlan.setP_title(p_title);
}

public void setTrainPlan(Trainplan trainP) {
this.trainPlan = trainP;

}

public Trainplan getTrainPlan() {
return this.trainPlan;

}

public void setTheFile1(org.apache.struts.upload.FormFile theFile1) {
this.theFile1 = theFile1;
}

public org.apache.struts.upload.FormFile getTheFile2() {
return theFile2;
}

public void setTheFile2(org.apache.struts.upload.FormFile theFile2) {
this.theFile2 = theFile2;
}

public org.apache.struts.upload.FormFile getTheFile3() {
return theFile3;
}

public void setTheFile3(org.apache.struts.upload.FormFile theFile3) {
this.theFile3 = theFile3;
}

public org.apache.struts.upload.FormFile getTheFile1() {
return theFile1;
}

public ActionErrors validate(ActionMapping actionMapping,
HttpServletRequest httpServletRequest) {
/**@todo: finish this method, this is just the skeleton.*/
return null;
}

public void reset(ActionMapping actionMapping,
HttpServletRequest httpServletRequest) {
}

}


与actionform相对应的jsp页面

taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%request.setCharacterEncoding("gb2312");%>




Add TrainPlan




Add TrainPlan







Title

Issue Time





Post Index


Issuer








Train Plan Content

TrainPlan Content:











Accessory

Accessory1


Accessory2


Accessory3











action页面,
package tester.business.maitain;

import tclcc.tester.util.Selector;

import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.util.*;
import org.apache.struts.upload.FormFile;
import java.io.*;

public class MaintainAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
/**@todo: complete the business logic here, this is just a skeleton.*/
MaintainForm maintainForm = (MaintainForm) actionForm;
TrainPlanDAO trainPDAO = new TrainPlanDAO();
Trainplan trainPlan = new Trainplan();
trainPlan = maintainForm.getTrainPlan();
FormFile theFile = null;
theFile = maintainForm.getTheFile1();
String p_accessory;
p_accessory = theFile.getFileName();
try {
InputStream stream = theFile.getInputStream(); //把文件读入
String filePath = httpServletRequest.getRealPath("/"); //取当前系统路径
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream bos = new FileOutputStream(filePath + "sub" + "/" +
theFile.getFileName()); //建立一个上传文件的输出流
//System.out.println(filePath+"/"+file.getFileName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ( (bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead); //将文件写入服务器
}
bos.close();
stream.close();
} catch (Exception e) {
System.err.print(e);
}

try {
trainPlan.setP_accessory(p_accessory);
trainPDAO.addTrainPlan(trainPlan);//调用数据库插入方法
System.out.println("success");

} catch (Exception ex) {
}
httpServletRequest.setAttribute("trainPlain", trainPlan);
return (actionMapping.findForward("trainplanCreated"));
}
}


package tester.business.maitain;

 

import tclcc.tester.business.maitain.Trainplan;
import tclcc.tester.util.DBConn;
import java.sql.*;
import java.util.*;

public class TrainPlanDAO {
private DBConn dbconn = null;
private Connection conn = null;

private static final String ADD_TRAINPLAN=
"INSERT INTO KS_TRAINPLAN (p_id,p_title,issue_time,issuer,p_content,p_accessory) VALUES (lpad(SEQ_P_ID.nextVal,10,´0´),?,?,to_date(?,´yyyy-mm-dd´),?,?,?)";
private final static String UPDATE_TRAINPLAN=
"UPDATE KS_TRAINPLAN set p_id=?,p_title=?,post_index=?,issue_time=to_date(?,´yyyy-mm-dd´),issuer=?,p_content=?,p_accessory=? where p_id=?";

/**
* get a connection from a DB pool
* @return Connection
*/
public TrainPlanDAO() {
try {
dbconn = new DBConn();
conn = dbconn.getConnection();
} catch (Exception ex) {
ex.printStackTrace();
}
}

/**
* add a row into DB
* @param examinee Examinee
* @throws SQLException
*/
public void addTrainPlan(Trainplan trainPlan) throws SQLException {
PreparedStatement pstmt = null;

try {
pstmt = conn.prepareStatement(ADD_TRAINPLAN);
pstmt.setString(1, trainPlan.getP_title());
pstmt.setString(2, trainPlan.getIssue_time());
pstmt.setString(3, trainPlan.getIssuer());
pstmt.setString(4, trainPlan.getP_content());
pstmt.setString(5, trainPlan.getP_accessory());

pstmt.executeUpdate();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
pstmt.close();
//conn.close();
} catch (SQLException ex1) {
}
}
}

/**
* remove a row from DB
* @param trainPlan TrainPlan
* @throws SQLException
*/
public void removeTrainPlan(Trainplan trainPlan) throws SQLException {
this.removeTrainPlan(trainPlan.getP_id());
}

/**
* remove a row from DB
* @param p_id int
* @throws SQLException
*/
public void removeTrainPlan(int p_id) throws SQLException {
Statement stmt = null;
try {
stmt = conn.createStatement();
stmt.execute("DELETE FROM ks_trainplan WHERE p_id=" + p_id);
} catch (SQLException ex) {
ex.printStackTrace();
throw new SQLException("SQLExction on : TrainPlanDAO.removeExaminee()");
} finally {
try {
conn.close();
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}
}

/**
* update a row
* @param examinee Examinee
* @throws SQLException
*/
public void updateTrainPlan(Trainplan trainPlan) throws SQLException {
PreparedStatement pstmt = null;
try {
// UPDATE_TRAINPLAN = UPDATE_TRAINPLAN + "where p_id =" + trainPlan.getP_id(); //the condition need modification
pstmt = conn.prepareStatement(UPDATE_TRAINPLAN);
pstmt.setInt(1, trainPlan.getP_id());
pstmt.setString(2, trainPlan.getP_title());
pstmt.setInt(3, trainPlan.getPost_index());
pstmt.setString(4, trainPlan.getIssue_time());
pstmt.setString(5, trainPlan.getIssuer());
pstmt.setString(6, trainPlan.getP_content());
pstmt.setString(7, trainPlan.getP_accessory());
pstmt.setInt(8,trainPlan.getP_id());
pstmt.executeUpdate();
} /*catch (SQLException ex) {
ex.getStackTrace();
throw new SQLException("SQLExction on : TrainPlanDAO.updateExaminee()");
} */
catch(SQLException sqle){
do
{
System.err.println("Exception occoured: Message:"+sqle.getMessage());
System.err.println("SQL state:"+sqle.getSQLState());
System.err.println("Vendor code:"+sqle.getErrorCode()+" ---------------");
} while((sqle=sqle.getNextException())!=null);
}finally {
try {
conn.close();
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}
}

/**
* get all record from DB
* @throws SQLException
* @return Collection
*/
public Collection getAll() throws SQLException {
Statement stmt = null;
ResultSet rs = null;
Trainplan trainPlan = null;
Collection list = null;

try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM ks_trainplan");
list = new ArrayList();
while (rs.next()) {
trainPlan = new Trainplan();
trainPlan.setP_id(rs.getInt("P_ID"));
trainPlan.setP_title(rs.getString("P_TITLE"));
trainPlan.setPost_index(rs.getInt("POST_INDEX"));
trainPlan.setIssue_time(rs.getString("ISSUE_TIME"));
trainPlan.setIssuer(rs.getString("ISSUER"));
trainPlan.setP_content(rs.getString("P_CONTENT"));
trainPlan.setP_accessory(rs.getString("P_ACCESSORY"));
list.add(trainPlan);
}
} catch (SQLException ex) {
} finally {
try {
conn.close();
} catch (SQLException ex1) {
ex1.printStackTrace();
}
return list;
}
}

public static String toString(Trainplan trainPlan){
return trainPlan.getP_title();
}

/**
* for test
* @param args String[]
*/


}

本文来源:http://www.gdgbn.com/flash/21906/