eclipse+MySQL实现
一、前端部分,通过编写jsp实现添加页面:
add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>信息添加</title>
<script type="text/javascript">
function check() {
var name1 = document.getElementById("name");
var name2 = document.getElementById("name2");
var mima1 = document.getElementById("password");
var mima2 = document.getElementById("mima2");
if (name1.value == "") {
name2.innerHTML = "请输入用户名".fontcolor("red");
name1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
if (mima1.value == "") {
mima2.innerHTML = "请输入密码".fontcolor("red");
mima1.focus();
return false;
} else {
mima2.innerHTML = "".fontcolor("green");
}
}
function check1() {
var name1 = document.getElementById("name");
var name2 = document.getElementById("name2")
var ref = /^[a-z0-9A-Z_]{4,10}$/
if (name1.value.length > 10 || name1.value.length < 4) {
name2.innerHTML = "用户名应为4到10位".fontcolor("red");
name1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
if (!ref.test(name1.value)) {
name2.innerHTML = "由数字字母下划线组成".fontcolor("red");
name1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
}
function check2() {
var mima1 = document.getElementById("password");
var mima2 = document.getElementById("mima2");
var ref = /^[a-z0-9A-Z_]{4,10}$/
if (mima1.value.length > 10 || mima1.value.length < 4) {
mima2.innerHTML = "密码应为4到10位".fontcolor("red");
mima1.focus();
return false;
} else {
mima2.innerHTML = "".fontcolor("green");
}
if (!ref.test(mima1.value)) {
mima2.innerHTML = "由数字字母下划线组成".fontcolor("red");
mima1.focus();
return false;
} else {
name2.innerHTML = "".fontcolor("green");
}
}
</script>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: black;">信息录入</h1>
<form action="adduser" method="post" onsubmit="return check()">
<div>
姓名:<input type="text" id="name" name="name" onchange="check1()" /><span id="name2"></span>
</div>
<div>
密码:<input type="password" id="password" name="password"onchange="check2()" /><span id="mima2"></span>
</div>
<div>
性别: <input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
</div>
<div>
邮箱:<input type="email" name="email" />
</div>
<div>
学校:<select name="school">
<option value="铁大">铁大</option>
<option value="北大">北大</option>
<option value="清华 ">清华</option>
</select>
</div>
<div>
<input type="submit" value="添加" />
<input type="reset" value="重置" />
</div>
</form>
</div>
</body>
</html>
绿色部分用来校验表单,若对用户输入数据无要求可以删去
效果图:
二、后台部分,即Java代码
1、创建相关包,如图所示:
User.java
package bean;
public class User {
private int id;
private String name;
private String password;
private String sex;
private String email;
private String school;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
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 getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public User() {
super();
// TODO 自动生成的构造函数存根
}
public User(String name, String password, String sex, String email, String school) {
super();
this.name = name;
this.password = password;
this.sex = sex;
this.email = email;
this.school = school;
}
}
UserDao.java
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import bean.User;
import util.DBUtil;
public class UserDao {
public boolean adduser(User b)
{
Connection con=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
con=DBUtil.getConn();
String sql="insert into user(name,password,sex,email,school) values(?,?,?,?,?)";
pstmt=con.prepareStatement(sql);
pstmt.setString(1, b.getName());
pstmt.setString(2, b.getPassword());
pstmt.setString(3, b.getSex());
pstmt.setString(4, b.getEmail());
pstmt.setString(5, b.getSchool());
pstmt.executeUpdate();
return true;
}
catch (SQLException e) {
System.out.println("添加失败");
e.printStackTrace();
}
finally {
DBUtil.close(rs, pstmt, con);
}
return false;
}
}
UserService.java
package service;
import bean.User;
import dao.UserDao;
public class UserService {
UserDao userdao = new UserDao();
public boolean adduser(User b) {
return userdao.adduser(b);
}
}
adduser.java
package servlet;
import java.io.IOException;
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 bean.User;
import service.UserService;
/**
* Servlet implementation class adduser
*/
@WebServlet("/adduser")
public class adduser extends HttpServlet {
private static final long serialVersionUID = 1L;
UserService service=new UserService();
/**
* @see HttpServlet#HttpServlet()
*/
public adduser() {
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
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String password=request.getParameter("password");
String sex=request.getParameter("sex");
String email=request.getParameter("email");
String school=request.getParameter("school");
User bean=new User(name,password,sex,email,school);
if(service.adduser(bean))
{
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("add.jsp").forward(request, response);
}
else
{
request.setAttribute("message", "添加失败");
request.getRequestDispatcher("add.jsp").forward(request, response);
}
}
/**
* @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);
}
}
DBUtil.java
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
private static final String db_url="jdbc:mysql://localhost:3306/mmm?useUnicode=true&characterEncoding=GB18030&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true";
public static String db_user = "root";
public static String db_pass = "123456";//数据库密码
public static Connection getConn () {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(db_url, db_user, db_pass);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void close (Statement state, Connection conn) {
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close (ResultSet rs, Statement state, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
三、数据库中相关表的创建