Struts2+Maven+表单标签向MySql表插入数据实现简单注册

4 篇文章 0 订阅
2 篇文章 0 订阅

创建一个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




刷新数据表:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值