注冊網頁連接數據庫


注冊頁面鏈接數據庫我用了五個板塊來剪成的:

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

測試截圖:

界面:

 

 

 

 

 運行錯誤提醒截圖:

 

 密碼:

 

 

學號提示:

 

 郵箱截圖:

 

 

數據庫連接成功截圖:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM