jsp完整檔案上傳

來源:互聯網
上載者:User

本文章這裡為各位朋友免費提供一款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");%>
<html:html locale="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../css/main.css" rel="stylesheet" type="text/css">
<title>Add TrainPlan</title>
</head>

<body>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="tabletoolbar">
<tr>
<td class="tabletitletext"><div align="center" class="tabletitletext">Add TrainPlan</div></td>
</tr>
</table>
<!--DWLayoutTable-->
<html:form action="/maintainAction.do" method="post" enctype="multipart/form-data">
<table width="600" border="0" align="center" cellpadding="7" cellspacing="0" class="InputFrameMain">
<tr>
<td width="3%" nowrap> </td>
<td width="11%" nowrap><strong>Title</strong></td>
<td width="22%" nowrap><html:text maxlength="50" property="trainPlan.p_title" size="50"/></td>
<td width="11%" nowrap><div align="center"><strong>Issue Time</strong></div></td>
<td width="22%" nowrap><html:text property="trainPlan.issue_time" size="10"/>
<html:button value="Date" property="Submit"/></td>
<td width="10%" nowrap><div align="center"></div></td>

</tr>
<tr>
<td nowrap> </td>
<td nowrap><strong>Post Index</strong></td>
<td nowrap>
</td>
<td nowrap><div align="center"><strong>Issuer</strong></div></td>
<td nowrap><html:text maxlength="10" property="trainPlan.issuer" size="10"/></td>


<td height="30" colspan="8" nowrap><div align="center"></div> <div align="center">
<tr>

</tr>

</div></td>
</tr>
</table>
<br>

<table width="595" border="0" align="center" cellpadding="7" cellspacing="0" class="InputFrameMain">
Train Plan Content
<tr>
<td width="10%" nowrap><strong>TrainPlan Content</strong>:<span class="InputAreaCell"><strong><br>
</strong></span></td>
<td width="90%"><html:textarea cols="80" rows="5" property="trainPlan.p_content"></html:textarea></td>

</tr>


<tr>
<td height="30" colspan="8" nowrap><div align="center"></div> <div align="center">


</div></td>
</tr>
</table>
<br>
<table width="610" border="0" align="center" cellpadding="7" cellspacing="0" class="InputFrameMain">
Accessory
<tr>

<td width="595"><span class="InputAreaCell"><strong>Accessory1
<html:file maxlength="60" property="theFile1" size="60"/>
<br>Accessory2
<html:file maxlength="60" property="theFile2" size="60"/>
<br>Accessory3
<html:file maxlength="60" property="theFile3" size="60"/>
<br>

</strong></span></td>

</tr>

<tr>
<td height="30" colspan="8" nowrap><div align="center"></div> <div align="center">
<html:submit styleClass="button" value="提交" property="Submit" onclick="return RgTest()"/>
</div></td>
</tr>


</table>
</html:form>
</body>
</html:html>


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[]
*/


}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.