1. 程式人生 > >一次javaweb登陸實驗

一次javaweb登陸實驗

col round etc func form user var get access

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
    <title>My JSP ‘login.jsp‘ starting page</title>
  </head>
  
  <body>
      <form action = "first.jsp" method = "post">
      <p>賬 號:<input type = "text" name 
= "ID"></p> <p>密 碼:<input type = "password" name = "ipwd"><br><br> <input type = "button" value = "註冊" onclick ="window.location.href = ‘sign.jsp‘"> <input type = "submit" value = "登陸"> </p></form> </body> </html
>

註冊:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
    <script>
    function validate(){
        var ID = document.form1.newID.value;
        var pwd = document.form1.newpwd.value;
        var pwd1 = document.form1.newpwd1.value;
        
if(ID.length>10) alert("賬號長度過長,不得超過10位"); else if(pwd!=pwd1) alert("兩次密碼不一致!"); else document.form1.submit(); } </script> <title>註冊</title> </head> <body> <form action = "insert.jsp" name = "form1"> 賬 號:<input type = "text" name = "newID"><br> 密 碼:<input type = "password" name = "newpwd"><br> 確 認:<input type = "password" name = "newpwd1"><br><br> <input type = "button" value = "返回" onclick ="window.location.href = ‘login.jsp‘"> <input type = "button" value = "提交" onclick ="validate()"/> </form> </body> </html>

登陸成功:

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
  <head>
  
  </head>
  
  <body><%
  out.print("登陸成功!");
    %>
    <a href = "login.jsp">退出</a>
  </body>
</html>

登陸處理:

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
  <head><title>everything</title>
  </head>
  
  <body>
    <%
    String driverName = "com.mysql.jdbc.Driver";
    String dbName = "students";
    String url1 = "jdbc:mysql://localhost:3306/"+dbName;
    String url3 = "&useUnicode = true & characterEncoding = UTF-8";
    try{
    Class.forName(driverName);
    Connection conn = DriverManager.getConnection(url1,"root","123456");
    String sql = "select pwd from user where ID = ?";
    PreparedStatement pstmt = conn.prepareStatement(sql);
    String ID = request.getParameter("ID");
    pstmt.setString(1,ID);
    ResultSet rs = pstmt.executeQuery();
    String pwd = "";
    while(rs.next()) 
    pwd = rs.getString("pwd");
    if(pwd.equals("")) {out.print("用戶不存在");}
    else {
    String Dpwd = request.getParameter("ipwd");
    rs.close();
    pstmt.close();
    conn.close();
    if(pwd.equals(Dpwd)){ %>
        <jsp:forward page = "access.jsp"></jsp:forward>    
    <% }else {out.print("密碼錯誤");%>
    <%}}%>
       <a href = "login.jsp">返回登陸</a>
     <%}catch(SQLException e) {
    e.printStackTrace();
    }%>
  </body>
</html>

註冊處理:

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
  <head>
    
  </head>
  
  <body>
    <%
    String driverName = "com.mysql.jdbc.Driver";
    String dbName = "students";
    String url1 = "jdbc:mysql://localhost:3306/"+dbName;
    try{
    Class.forName(driverName);
    Connection conn = DriverManager.getConnection(url1,"root","123456");
    String newID = request.getParameter("newID");
    String newpwd = request.getParameter("newpwd");
    String sql = "insert into user(ID,pwd) values(?,?)";
    String bbl = "select ID from user where ID = ?";
    PreparedStatement bbls = conn.prepareStatement(bbl);
    bbls.setString(1,newID);
    ResultSet rs = bbls.executeQuery();
    String ID = "";
    if(!rs.next()) {
        PreparedStatement psmt = conn.prepareStatement(sql);
        psmt.setString(1, newID);
        psmt.setString(2,newpwd);
        int n = psmt.executeUpdate();
        psmt.close();
        conn.close();%>
        <%if(n!=0){
            out.print("註冊成功!");%>
            <a href ="login.jsp">返回登陸</a>
            <%
        }else {
            out.print("註冊失敗!");
            }
        }
    else{ out.print("用戶已存在!");%>
        <a href = "sign.jsp">返回註冊</a>
    <%}   
        rs.close();
         bbls.close();
        }catch (SQLException e) {e.printStackTrace();}
    %>
  </body>
</html>

一次javaweb登陸實驗