Example_Struts
WebRoot/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>
/src/org.action/SaveAction.java
package org.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.model.Xsb;
import org.work.DBConn;
import com.opensymphony.xwork2.ActionSupport;
public class SaveAction extends ActionSupport{
private Xsb xs;
private List<File> upload;
private List<String> uploadFileName;
public Xsb getXs() {
return xs;
}
public void setXs(Xsb xs) {
this.xs = xs;
}
public List<File> getUpload() {
return upload;
}
public void setUpload(List<File> upload) {
this.upload = upload;
}
public List<String> getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(List<String> uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String execute() throws Exception {
if(upload!=null){
for (int i = 0; i < upload.size(); i++) {
InputStream is=new FileInputStream(upload.get(i));
OutputStream os=
new FileOutputStream("d:\\upload\\"+getUploadFileName().get(i));
byte buffer[]=new byte[1024];
int count=0;
while((count=is.read(buffer))>0){
os.write(buffer,0,count);
}
os.close();
is.close();
}
}
DBConn db=new DBConn();
Xsb stu=new Xsb();
stu.setXh(xs.getXh());
stu.setXm(xs.getXm());
stu.setXb(xs.getXb());
stu.setZy(xs.getZy());
stu.setCssj(xs.getCssj());
stu.setBz(xs.getBz());
if(db.save(stu)){
return SUCCESS;
}else
return ERROR;
}
}
/src/org.model/Xsb.java
package org.model;
import java.sql.Date;
public class Xsb {
private String xh;
private String xm;
private byte xb;
private String zy;
private Date cssj;
private String bz;
public String getXh() {
return xh;
}
public void setXh(String xh) {
this.xh = xh;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public byte getXb() {
return xb;
}
public void setXb(byte xb) {
this.xb = xb;
}
public String getZy() {
return zy;
}
public void setZy(String zy) {
this.zy = zy;
}
public Date getCssj() {
return cssj;
}
public void setCssj(Date cssj) {
this.cssj = cssj;
}
public String getBz() {
return bz;
}
public void setBz(String bz) {
this.bz = bz;
}
}
/src/org.work/DBConn.java
package org.work;
import java.sql.*;
import org.model.Xsb;
public class DBConn {
Connection conn;
PreparedStatement pstmt;
public DBConn(){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;" +
"databaseName=XSCJ","sa","123456");
}catch(Exception e){
e.printStackTrace();
}
}
public boolean save(Xsb xs){
try{
pstmt=conn.prepareStatement("insert into XSB(XH,XM,XB,ZY,CSSj,BZ) values(?,?,?,?,?,?)");
pstmt.setString(1, xs.getXh());
pstmt.setString(2, xs.getXm());
pstmt.setByte(3, xs.getXb());
pstmt.setString(4, xs.getZy());
pstmt.setDate(5, xs.getCssj());
pstmt.setString(6, xs.getBz());
pstmt.executeUpdate();
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}
}
}
/src/struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="save" class="org.action.SaveAction">
<result name="success">/success.jsp</result>
<result name="error">/stu.jsp</result>
</action>
</package>
</struts>
/WebRoot/stu.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<s:head />
</head>
<body >
<h3>添加学生信息</h3>
<s:form action="save.action" method="post" enctype="multipart/form-data" theme="simple">
<!-- 这里上传三个文件,这里可以是任意多个-->
<s:file name="upload" label="上传的文件一"></s:file>
<s:file name="upload" label="上传的文件二"></s:file>
<s:file name="upload" label="上传的文件三"></s:file>
<table>
<tr><td>学号:</td>
<td><s:textfield name="xs.xh"></s:textfield></td>
</tr><tr><td>姓名:</td>
<td><s:textfield name="xs.xm" ></s:textfield></td>
</tr><tr><td>性别:</td>
<td><s:radio name="xs.xb" list="#{1:'男',2:'女'}" value="1"></s:radio></td>
</tr><tr><td>专业:</td>
<td><s:textfield name="xs.zy" label="专业"></s:textfield></td>
</tr><tr><td width="70">出生时间:</td>
<td><s:datetimepicker name="xs.cssj" id="cssj"
displayFormat="yyyy-MM-dd" ></s:datetimepicker></td>
</tr><tr><td> 备注:</td>
<td><s:textarea name="xs.bz" label="备注"></s:textarea></td>
</tr><tr><td><s:submit value="添加"></s:submit></td>
<td><s:reset value="重置"></s:reset></td></tr>
</table>
</s:form>
</body>
</html>
/WebRoot/success.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
</head>
<body>
恭喜你,添加成功!
</body>
</html>