注册网页连接数据库

注册页面链接数据库我用了五个板块来剪成的:

user.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 background="C:\Users\lenovo\Desktop\ertong.jpg">
    <%
        Object message = request.getAttribute("message");
        if (message != null && !"".equals(message)) {
    %>
    <script type="text/javascript">
              alert("<%=request.getAttribute("message")%>");
    </script>
    <%
        }
    %>
        <table border="1px" cellpadding="30px" cellspacing="0px"
                style="width: 30%;margin:auto;background:rgb(200,195,195)"  bordercolor="red" >
   <form action="Servlet?method=add" method="post" >
            <caption>注册用户</caption>
                <tr>
                    <th>登录账号:</th>
                    <td><input type="text" name="username" id="user"></th>
                </tr>
                
                <tr>
                    <th>登录密码:</th>
                    <td><input type="password" name="password" id="password"></td>
                </tr>
               
                    <tr>
                    <th>性别:</th>
                    <td>
                        <select name="sex" id="sex">
                            <option value="男">男</option>
                            <option value="女">女</option>
                        </select>
                    </td>
                </tr>
                
                <tr>
                    <th>姓名:</th>
                    <td><input type="text" name="name" id="name"></td>
                </tr>
       
                <tr>
                    <th>学号:</th>
                    <td><input type="text" name="idname" id="xuehao"></th>
                </tr>
                
                <tr>
                    <th>电子邮件:</th>
                    <td><input type="text" name="email" id="mail"></th>
                </tr>
                
                <tr>
                    <th>所在学校:</th>
                    <td><input type="text" name="schoolname" id="school"></th>
                </tr>
                
                <tr>
                    <th>所在系:</th>
                    <td><input type="text" name="studyname" id="xi"></th>
                </tr>
                
                <tr>
                    <th>所在班级:</th>
                    <td><input type="text" name="classname" id="banji"></th>
                </tr>
                
                     <tr>
                    <th>入学年份(届):</th>
                    <td>
                        <select name="time" id="nianfen">
                            <option value="2019">2019</option>
                            <option value="2018">2018</option>
                            <option value="2017">2017</option>
                            <option value="2016">2016</option>
                        </select>届
                    </td>
                </tr>
                
                 <tr>
                    <th>生源地:</th>
                    <td><input type="text" name="address" id="place"></td>
                </tr>
             <tr>
             
                <th>备注:</th>
                    <td><textarea cols="10" rows="4" name="beizhu" id="beizhu"></textarea></td>
                </tr>
                
                <tr>
                    <th colspan="2">
                        <input type="submit" value="提交" name="botton" onclick="return check()" >
                    </th>
                </tr>
            </form>
            
        </table>
             <script type="text/javascript">
            function check() {
                var user = document.getElementById("user").value;
                var password = document.getElementById("password").value;
                var name = document.getElementById("name").value;
                var xuehao = document.getElementById("xuehao").value;
                var mail = document.getElementById("mail").value;
                var school = document.getElementById("school").value;
                var xi = document.getElementById("xi").value;
                var banji = document.getElementById("banji").value;
                var nianfen = document.getElementById("nianfen").value;
                var place = document.getElementById("place").value;
                var beizhu = document.getElementById("beizhu").value;
                
                var res=/^[0-9a-zA-Z]*$/; //必须是数字和英文组合
                var myPattern = new RegExp("^[a-zA-Z]");//以英文字母开头
                var userlength=document.getElementById("user").value.length;
                if(!((res.test(user))&&(myPattern.test(user))&&userlength>5&&userlength<=12)) 
                    {
                    alert('用户名必须为字母数字组成且必须为6为组成首字母大写');
                    return false;
                    }
                if((res.test(password)&&password.length<8)) 
                {
                    alert('由八位英文和数字组成');
                    
                    return false;
                }
                
                if((xuehao[0]!=2||xuehao[1]!=0||xuehao[2]!=1||xuehao[3]!=8)||xuehao.length!=8){
                    alert("学号格式不正确");
                    
                    return false;
                }
                
                var kao=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
                if(!(kao.test(mail)))
                {alert("邮箱格式不正确");
                
                return false;
                }
            }
        </script>
    </body>
</html>

Dao层:

package Dao;

import java.sql.Connection;
import java.sql.Statement;

import DBUtil.DBUtil;

import Entity.User;

public class Dao {

    public boolean add(User user) {
        // TODO Auto-generated method stub
        String sql = "insert into uses(username,password,sex,name,idname,email,schoolname,studyname,classname,time,address,beizhu) values('"+ user.getUsername() + "','"+ user.getPassword() +"','"+ user.getSex() +"','" + user.getName()  +"','"+ user.getIdname()  +"','"+ user.getEmail() +"','"+user.getSchoolname()+"','"+user.getStudyname()+"','"+user.getClassname()+"','"+user.getTime()+"','"+user.getAddress()+"','"+user.getBeizhu()+"')";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;

        try {
            state = conn.createStatement();
            a=state.executeUpdate(sql);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            
            DBUtil.close(state, conn);
        }

        if (a > 0) {
            f = true;
        }
        return f;

}
}

Servlet层:

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 Dao.Dao;

import Entity.User;




@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    
    public Servlet() {
        super();
        
    }
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");//璁剧疆璇锋眰鐨勫瓧绗︾紪鐮佹牸寮�
        String method = req.getParameter("method");//鑾峰緱璇锋眰琛ㄥ崟涓殑淇℃伅
        if ("add".equals(method)) {
            add(req, resp);
        } 
    }
    
    
    private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String sex = req.getParameter("sex");
        String name = req.getParameter("name");
        String idname = req.getParameter("idname");
        String email = req.getParameter("email");
        String schoolname = req.getParameter("schoolname");
        String studyname = req.getParameter("studyname");
        String classname = req.getParameter("classname");
        String time = req.getParameter("time");
        String address = req.getParameter("address");
        String beizhu = req.getParameter("beizhu");
        User user = new User(username,password,sex,name,idname,email,schoolname,studyname,classname,time,address,beizhu);
        
        Dao dao =new Dao();
        boolean f=dao.add(user);
        if(f) {
            req.setAttribute("message", "注册成功!");
            req.getRequestDispatcher("user.jsp").forward(req,resp);
        } else {
            req.setAttribute("message", "注册失败!");
            req.getRequestDispatcher("user.jsp").forward(req,resp);
        }
    }
}

DButil层:

package DBUtil;



import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class DBUtil {
    
    public static String db_url = "jdbc:mysql://localhost:3306/user";
    public static String db_user = "root";
    public static String db_pass = "123";
    
    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();
            }
        }
    }

    public static void main(String[] args) throws SQLException {
        Connection conn = getConn();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        String sql ="select * from users";
        pstmt = conn.prepareStatement(sql);
        rs = pstmt.executeQuery();
        if(rs.next()){
            System.out.println("空");
        }else{
            System.out.println("不空");
        }
    }
}

User类:

package Entity;

public class User {
    
    private String username;
    private String password;
    private String sex;
    private String name;
    private String idname;
    private String email;
    private String schoolname;
    private String studyname;
    private String classname;
    private String time;
    private String address;
    private String beizhu;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    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 getIdname() {
        return idname;
    }
    public void setIdname(String idname) {
        this.idname = idname;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getSchoolname() {
        return schoolname;
    }
    public void setSchoolname(String schoolname) {
        this.schoolname = schoolname;
    }
    public String getStudyname() {
        return studyname;
    }
    public void setStudyname(String studyname) {
        this.studyname = studyname;
    }
    public String getClassname() {
        return classname;
    }
    public void setClassname(String classname) {
        this.classname = classname;
    }
    public String getTime() {
        return time;
    }
    public void setTime(String time) {
        this.time = time;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getBeizhu() {
        return beizhu;
    }
    public void setBeizhu(String beizhu) {
        this.beizhu = beizhu;
    }
    public User(String username, String password, String sex, String name, String idname, String email,
            String schoolname, String studyname, String classname, String time, String address, String beizhu) {
        super();
        this.username = username;
        this.password = password;
        this.sex = sex;
        this.name = name;
        this.idname = idname;
        this.email = email;
        this.schoolname = schoolname;
        this.studyname = studyname;
        this.classname = classname;
        this.time = time;
        this.address = address;
        this.beizhu = beizhu;
    }
}

测试截图:

界面:

 

 

 

 

 运行错误提醒截图:

 

 密码:

 

 

学号提示:

 

 邮箱截图:

 

 

数据库连接成功截图:

 

 

posted @ 2019-10-21 18:31  doublebest1  阅读(1386)  评论(0编辑  收藏  举报