JavaWeb — 添加学生信息(网页版)

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();
            }
        }
    }
}

 三、数据库中相关表的创建

原文地址:https://www.cnblogs.com/MoooJL/p/11717052.html