创建一个Mysql数据库:StuDB
create database StuDB;--创建数据库
create table studentInfo(--创建数据表
stuid int primary key auto_increment,--主键自动增长
stuname varchar(20) not null unique,
stupass varchar(20) not null,
sex varchar(10) not null,
hobby varchar(100),
birthday date,
email varchar(100)
);
在Eclipse新建一个RegisterStu项目
在pom.xml中加入依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.22</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.12</version>
</dependency>
新建DBCPUtil类 dao
private static Connection conn = null;
String url = "jdbc:mysql://localhost:3306/StuDB";
String root = "root";
String pass = "408817";
public DBCPUtil() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,root,pass);
}
public static Connection getConn() {
return conn;
}
public static void closeConn() throws SQLException {
conn.close();
}
新建Students类 action
public class Students extends ActionSupport {
private int stuid;
private String stuname;
private String stupass;
private String sex;
private String hobby;
private String birthday;
private String email;
public int getStuid() {
return stuid;
}
public void setStuid(int stuid) {
this.stuid = stuid;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
public String getStupass() {
return stupass;
}
public void setStupass(String stupass) {
this.stupass = stupass;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String execute() throws SQLException {
try {
new DBCPUtil();
} catch (Exception e) {
// TODO Auto-generated catch block
return INPUT;
}
//sql语句
Connection conn = DBCPUtil.getConn();
String mysql = "insert into StuDB.studentInfo(stuname,stupass,sex,hobby,birthday,email) values(?,?,?,?,?,?)";
PreparedStatement ps=null;
try {
ps = conn.prepareStatement(mysql);
ps.setString(1, getStuname());
ps.setString(2, getStupass());
ps.setString(3, getSex());
ps.setString(4, getHobby());
ps.setString(5, getBirthday());
ps.setString(6, getEmail());
int count = ps.executeUpdate();
return count > 0 ? SUCCESS:INPUT;
} catch (SQLException e) {
// TODO Auto-generated catch block
return INPUT;
}finally {
DBCPUtil.closeConn();
}
}
web.xml 添加到<web-app>内
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
index.jsp页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>主页</title>
</head>
<body>
<a href="<s:url action="register"></s:url>">注册</a><br/>
</body>
</html>
register.jsp页面: 使用表单标签
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册页面</title>
</head>
<body>
<!-- 推荐使用Struts2的标签库 -->
<s:form action="REGIST">
<s:textfield name="stuname" label="用户名" requiredLabel="true" requiredPosition="left"></s:textfield>
<s:password name="stupass" label="密码" requiredLabel="true" requiredPosition="left"></s:password>
<!-- list的取值是一个ONGL表达式,创建了一个Map对象。必须有name -->
<s:radio name="sex" list="#{'male':'男性','female':'女性'}" label="性别" requiredLabel="true" requiredPosition="left"></s:radio>
<!-- list的取值是一个ONGL表达式,创建了一个List对象。必须有name -->
<s:checkboxlist name="hobby" list="{'吃饭','睡觉','学java'}" label="爱好"></s:checkboxlist>
<s:textfield name="birthday" label="出生日期:yyyy-MM-dd"></s:textfield>
<s:textfield name="email" label="邮箱"></s:textfield>
<s:submit value="注册"></s:submit>
</s:form>
<br/>
</body>
</html>
再写两个success.jsp成功页面,shibai.jsp失败页面,内容自定
在src/main/resources目录下新建一个struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts-devMode" value="true" />
<constant name="struts.action.extension" value="com" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" /><!-- 动态方法调用 -->
<constant name="struts.i18n.reload" value="true" /><!-- 自动装载本地化文件 -->
<constant name="struts.configuration.xml.reload" value="true" /><!-- 自动装载XML文件 -->
<package name="web" extends="struts-default">
<action name="register">
<result>/register.jsp</result>
</action>
<action name="index">
<result>/index.jsp</result>
</action>
<action name="REGIST" class="com.sve.entity.Students">
<result name="success">/success.jsp</result>
<result name="input">/shibai.jsp</result>
</action>
</package>
</struts>
发布访问:http://localhost:8080/RegisterStu/index.com
刷新数据表: