学生信息提交+文件上传

Example_Struts

在这里插入图片描述所需jar包

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>/*</url-pattern>
    		</filter-mapping>
	</web-app>

/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;      			//上传的文件内容,由于是多个用List集合
	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;
		
		//生成它们的getter和setter方法
		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>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值