框架模型采用:MVC的思想;domain-dao-service
数据库采用:Mysql;
连接池采用:DBCP,会简历一个DBCPUtil的工具类来完成;
动作类Action:继承ActionSupport,实现 ModelDriven<>,即采用动作与模型分开的方式;
写regist.jsp注册页面是可以用struts2的标签库来写表单的页面;
在页面书写时关于checkbox类型的写法,爱好类型的书写,页面-javabean类-action类;
//struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="student" extends="struts-default" namespace="/student">
<action name="regist" class="com.lzy.action.RegistAction" method="regist">
<result name="success" type="dispatcher">/success.jsp</result>
<result name="error" type="dispatcher">/error.jsp</result>
</action>
</package>
</struts>
//dbcpconfig.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day28
username=lzy
password=
initialSize=10
maxActive=50
maxIdle=20
minIdle=5
maxWait=60000
connectionProperties=useUnicode=true;characterEncoding=utf8
defaultAutoCommit=true
defaultReadOnly=
defaultTransactionIsolation=REPEATABLE_READ
//DBCPUtil.java 配置一个DBCP的工具类 里面设计到数据源的方式
package com.lzy.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DBCPUtil {
private static DataSource dataSource;
static{
//读取配置文件
ClassLoader cl = DBCPUtil.class.getClassLoader();
InputStream in = cl.getResourceAsStream("dbcpconfig.properties");
Properties props = new Properties();
try {
props.load(in);
//System.out.println(props.getClass());
//System.out.println(props.getProperty("url"));
//System.out.println(props.getProperty("username"));
dataSource = BasicDataSourceFactory.createDataSource(props);
} catch (Exception e) {
e.printStackTrace();
}
}
public static DataSource getDataSource(){
return dataSource;
}
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("获取连接失败");
}
}
}
//Student.java
package com.lzy.domain;
/*
数据库用mysql,上面要定义一个连接池。
创建数据库
create database day28;
use day28;
create table students(
id int primary key auto_increment,
studentname varchar(100) not null unique,
password varchar(10) not null,
gender varchar(10) not null,
hobby varchar(100),
birthday date,
email varchar(100),
grade int
);
*/
import java.io.Serializable;
public class Student implements Serializable