com.bean包:
package com.bean;
public class uBean{
private String zhanghao;
private String password;
private String sex;
private String name;
private String id;
private String postbox;
private String xueyuan;
private String xi;
private String class_;
private String time;
private String area;
private String beizhu;
public uBean() {}
public uBean(String zhanghao, String password, String sex, String name, String id, String postbox, String xueyuan,
String xi, String class_, String time, String area, String beizhu) {
super();
this.zhanghao = zhanghao;
this.password = password;
this.sex = sex;
this.name = name;
this.id = id;
this.postbox = postbox;
this.xueyuan = xueyuan;
this.xi = xi;
this.class_ = class_;
this.time = time;
this.area = area;
this.beizhu = beizhu;
}
public String getZhanghao() {
return zhanghao;
}
public void setZhanghao(String zhanghao) {
this.zhanghao = zhanghao;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPostbox() {
return postbox;
}
public void setPostbox(String postbox) {
this.postbox = postbox;
}
public String getXueyuan() {
return xueyuan;
}
public void setXueyuan(String xueyuan) {
this.xueyuan = xueyuan;
}
public String getXi() {
return xi;
}
public void setXi(String xi) {
this.xi = xi;
}
public String getClass_() {
return class_;
}
public void setClass_(String class_) {
this.class_ = class_;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getBeizhu() {
return beizhu;
}
public void setBeizhu(String beizhu) {
this.beizhu = beizhu;
}
}
com.dao包:
package com.dao;
import java.sql.Connection;
import java.sql.Statement;
import com.bean.uBean;
import com.db.DB;
public class Dao {
public boolean add(uBean bean) {
String tablename = "hhjing";
DB db=new DB();
Connection con = db.getCon();
try {
String sql="insert into "+tablename+"(zhanghao,password,sex,name,id,postbox,xueyuan,xi,class_,time,area,beizhu) values ('"+bean.getZhanghao()+"','"+bean.getPassword()+"','"+bean.getSex()+"','"+bean.getName()+"','"+bean.getId()+"','"+bean.getPostbox()+"','"+bean.getXueyuan()+"','"+bean.getXi()+"','"+bean.getClass_()+"','"+bean.getTime()+"','"+bean.getArea()+"','"+bean.getBeizhu()+"')";
Statement stm = con.createStatement();
System.out.println(sql);
stm.execute(sql);
db.close(stm, con);
System.out.println("add success");
}catch(Exception e) {
e.printStackTrace();
System.out.println("add false");
return false;
}
System.out.println("add true");
return true;
}
}
com.db包:
package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.sun.corba.se.impl.ior.GenericTaggedComponent;
public class DB {
private static String mysqlname = "hhjing";
private static Connection con;
private static Statement sta;
private static ResultSet re;
private static String coursename = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://127.0.0.1:3306/"+mysqlname+"?useSSL=false&characterEncoding=utf8";
//���ݿ�����
public static Connection getCon() {
try {
Class.forName(coursename);
System.out.println("驱动加载成功");
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url,"root","hhj20000604@");
System.out.println("数据库连接成功");
}catch(Exception e){
e.printStackTrace();
con = null;
}
return con;
}
public static void close(Statement sta,Connection connection) {
if(sta!=null) {
try {
sta.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(connection!=null) {
try {
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
//���ݿ�ر�
public static void close(ResultSet re,Statement sta,Connection connection) {
if(re!=null) {
try {
re.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(sta!=null) {
try {
sta.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
if(connection!=null) {
try {
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
getCon();
}
}
com.servlet包:
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane;
import com.bean.uBean;
import com.dao.Dao;
/**
* Servlet implementation class Servlet
*/
@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("utf-8");
response.setContentType("textml;charset=utf-8");
uBean bean =new uBean(request.getParameter("zhanghao"),request.getParameter("password"),request.getParameter("sex"),request.getParameter("name"),request.getParameter("id"),request.getParameter("postbox"),request.getParameter("xueyuan"),request.getParameter("xi"),request.getParameter("class_"),request.getParameter("time"),request.getParameter("area"),request.getParameter("beizhu"));
Dao dao = new Dao();
dao.add(bean);
// JOptionPane.showMessageDialog(null, "注册成功");
// //用于跳出框架跳转页面
// response.sendRedirect("index.jsp");
PrintWriter out = response.getWriter();
//index.jsp改成需要跳转的界面,alert里写提示框的内容
out.print("<script language='javascript'>alert('register success');window.location.href='index.jsp';</script>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div style="width:100%;text-align:center">
<form id="form" action="Servlet" method="post" onsubmit="return checkAll()">
<% //form用于提交,table用于布局,tr每行,td每列,使用时table > tr > td ,若报错Invalid location of tag,就是嵌套顺序不对%>
<table>
<tr>
<td>登录账号:</td>
<td><input id="zhanghao" type=text" name="zhanghao" onblur="checkZhanghao()" /></td>
<td><span style="font-size:13px" id="zhanghaospan"></span></td>
<tr>
<td>登录密码:</td>
<td><input id="password" type="password" name="password" onblur="checkPassword()" /></td>
<td><span style="font-size:13px" id="passwordspan"></span></td>
</tr>
<tr>
<td>性别:</td>
<td>
男:<input type="radio" value="boy" name="sex"/>
女:<input type="radio" value="girl" name="sex"/>
</td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" value=" " name="name"/></td>
</tr>
<tr>
<td>学号:</td>
<td><input id="id" type=text" name="id" onblur="checkId()" /></td>
<td><span style="font-size:13px" id="idspan"></span></td>
</tr>
<tr>
<td>电子邮箱:</td>
<td><input id="postbox" type="text" name="postbox" onblur="checkPostbox()" placeholder="邮箱"/></td>
<td><span style="font-size:13px" id="postboxspan"></span></td>
</tr>
<tr>
<td>所在学院:</td>
<td><input id="xueyuan" type=text" name="xueyuan" onblur="checkXueyuan()" /></td>
<td><span style="font-size:13px" id="xueyuanspan"></span></td>
</tr>
<tr>
<td>所在系:</td>
<td><input id="xi" type=text" name="xi" onblur="checkXi()" /></td>
<td><span style="font-size:13px" id="xispan"></span></td>
</tr>
<tr>
<td>所在班级:</td>
<td><input id="class_" type=text" name="class_" onblur="checkClass_()" /></td>
<td><span style="font-size:13px" id="class_span"></span></td>
</tr>
<tr>
<td>入学年份(界):</td>
<td>
<select name="time">
<option selected= "selected">1998</option>
<option>1997</option>
<option>1996</option>
</select>
</td>
</tr>
<tr>
<td>生源地:</td>
<td><input id="area" type="text" name="area" onblur="checkArea()" /></td>
<td><span style="font-size:13px" id="areaspan"></span></td>
</tr>
<tr>
<td>备注:</td>
<td><input id="beizhu" type="text" name="beizhu" onblur="checkBeizhu()" /></td>
<td><span style="font-size:13px" id="beizhuspan"></span></td>
</tr>
<tr>
<td><input type="submit" value="注册"/></td>
<td><input type="button" name="" value="重置" onclick="formReset()" /></td>
</tr>
</table>
</form>
</div>
<script type="text/javascript">
//重置按钮处添加onclick调用formReset %>
function formReset()
{
document.getElementById("form").reset();
}
function checkZhanghao()
{
var zhanghao = document.getElementById("zhanghao").value;
var spanNode = document.getElementById("zhanghaospan");
//编写邮箱的正则
var reg = /^[0-9a-zA-Z]{6}/;
if(reg.test(zhanghao)){
//符合规则
spanNode.innerHTML = "".fontcolor("green");
return true;
}else{
//不符合规则
spanNode.innerHTML = "登录账号格式不正确,请重新填写!".fontcolor("red");
return false;
}
}
//邮箱输入框处添加onblur在鼠标焦距移出时调用checkPostbox %>
function checkPostbox()
{
var postbox = document.getElementById("postbox").value;
var spanNode = document.getElementById("postboxspan");
//编写邮箱的正则
var reg = /^[a-z0-9]\w+@[a-z0-9]+(\.[a-z]{2,3}){1,2}$/i;
if(reg.test(postbox)){
//符合规则
spanNode.innerHTML = "".fontcolor("green");
return true;
}else{
//不符合规则
spanNode.innerHTML = "邮箱格式不正确,请重新填写!".fontcolor("red");
return false;
}
}
function checkPassword()
{
var password = document.getElementById("password").value;
var spanNode = document.getElementById("passwordspan");
//编写密码的正则
var reg =/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}$/;
if(reg.test(password)){
//符合规则
spanNode.innerHTML = "".fontcolor("green");
return true;
}else{
//不符合规则
spanNode.innerHTML = "密码格式不正确,请重新填写!".fontcolor("red");
return false;
}
}
function checkId()
{
var id = document.getElementById("id").value;
var spanNode = document.getElementById("idspan");
//学号的正确形式
// var reg = /^[0-9a-zA-Z]{6}/;
if((id<"20180000")|| (id>"20189999"))
{
spanNode.innerHTML = "学号格式不正确,请重新填写!".fontcolor("red");
return false;
}
else{
//不符合规则
spanNode.innerHTML = "".fontcolor("green");
return true;
}
}
function checkAll(){
var postbox = checkPostbox();
var id=checkId();
var zhanghao=checkZhanghao();
var password=checkPassword();
if(postbox&&id&&password&&zhanghao){
return true;
}else{
return false;
}
}
</script>
</body>
</html>
代码测试截图:

输入数据库截图:
