jsp完整文件上传

本文章这里为各位朋友免费提供一款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[]
*/

}

时间: 2024-10-02 13:35:38

jsp完整文件上传的相关文章

jsp多文件上传代码

JavaBean .http .ftp .ftpclient JavaBean是一种基于Java的软件组件.JSP对于在Web 应用中集成JavaBean组件提供了完善的支持.这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性. 文件的上传功能在基于B/S的开发模式中非常普遍.同其他开发工具相比较,JSP对文件的上传支持并不是很完美,它既不象ASP那样一定需要使用组件来完成,也不像PHP那样直接提供了文件上载的支持.JSP实现文

急急急急急急!jsp中文件上传 如果文件存在如何删除原来的文件,菜鸟求大神

问题描述 急急急急急急!jsp中文件上传如果文件存在如何删除原来的文件,菜鸟求大神. 解决方案 解决方案二:换个思路,你覆盖原来的就好了,名称取得一样就行.解决方案三:一楼正解....

struts2+jsp实现文件上传的方法_JSP编程

本文实例讲述了struts2+jsp实现文件上传的方法.分享给大家供大家参考.具体如下: 1. java代码: package com.wang.test; import java.io.InputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionSupport; public cla

用JSP编写文件上传的程序

js|程序|上传 如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易. 下面的例子只是一个简版 package yuanyifileup; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.PageContext; public class yuanyifileup { pri

用JSP编写文件上传

js|上传 如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易. 下面的例子只是一个简版 package yuanyifileup; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.PageContext; public class yuanyifileup { privat

如何用JSP编写文件上传

  如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易. 下面的例子只是一个简版 package yuanyifileup; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.PageContext; public class yuanyifileup { private Se

jsp实现文件上传下载的程序示例_JSP编程

一.文件上传上传文件是Web开发中经常要用到的功能:例如在基于B/S的人事信息管理系统中上传照片,在新闻发布系统中上传图片等等.....要实现文件上传功能,就需要综合利用java中的文件输入和输出相关的类.在TCP/IP中,最早出现的文件上传机制是FTP.它是将文件由客服端发送到服务器的标准机制,能够考虑到跨平台的文本和二进制格式文件.但是在jsp编程中不能使用FTP方法来上传文件,这是由jsp 运行机制所决定的.下面是上传文件的jsp页面: 复制代码 代码如下: <form action=&quo

JSP组件commons-fileupload实现文件上传_JSP编程

本文实例为大家分享了JSP使用commons-fileupload实现文件上传代码,供大家参考,具体内容如下 1.准备: 将commons-fileupload-1.1.zip和commons-io-1.1.zip复制到"\WEB-INF\lib"目录下 2.首先是Servlet:FileUpload.java package servlet; import java.io.File; import java.io.IOException; import java.io.PrintWr

JSP实现快速上传文件的方法_JSP编程

本文实例讲述了JSP实现快速上传文件的方法.分享给大家供大家参考.具体如下: 这里演示JSP不使用第三方库,实现快速上传文件的功能 1. FileUpload.java: package FileUpload; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import javax.servlet.ServletInputStream; /** * */ /*