1. 程式人生 > >javaweb-基於資料庫的簡單登入註冊介面

javaweb-基於資料庫的簡單登入註冊介面

.1.登入介面:基於對資料庫的查詢操作

 登入介面程式碼:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>    
    <title>使用者登入介面</title>
  </head>
   <body>
<form action="ture.jsp" method="post">
賬號:<input type="text" name="userid"><br>
密碼:<input type="password" name="userpwd"><br>
    <input type="submit" value="登入">
    <input type="reset" value="重置">
    <a href="insert.jsp">點選註冊</a>
    
</form>
  </body>
</html>

登入介面資料處理程式碼:

<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
  <head>   
    <title>登入結果</title>
  </head>
  
  <body>
  <%Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");   //載入資料庫驅動程式
		     String url="jdbc:sqlserver://localhost:1433; DatabaseName=p";   //資料庫地址,埠,名字資訊 
		     String user="sa";          //使用者名稱
		     String password="123456";  // 密碼
		     String uid="";
		     String upwd="";
		     Connection conn=DriverManager.getConnection(url,user,password);  //連線資料庫
		     Statement stmt=conn.createStatement();
		     String userid=request.getParameter("userid");    //從登入介面獲取ID
		     String userpwd=request.getParameter("userpwd");   //從登入介面獲取密碼
		     String sql=String.format("select * from userinfo where uid=%s", userid);   //以輸入的ID做為SQL查詢條件
		     ResultSet rs=stmt.executeQuery(sql);   //查詢結果
		     if(rs.next()){      //判斷是否存在此ID
		     upwd=rs.getString("upwd");   //ID存在,則從資料庫獲取密碼
		     if(upwd.equals(userpwd)){%>     //比較密碼
		     <jsp:forward page="main.jsp"/>  //密碼正確,登入成功,跳轉至系統主介面
		     <%}else{
		     out.print("密碼錯誤");
		     }
		     }else{
		     out.print("使用者不存在");
		     }
		      %>
		      <br>
		      <a href="login.jsp">返回</a>
  </body>
</html>


2.註冊頁面:基於對資料庫的插入操作。

註冊頁面程式碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
    
    <title>註冊頁面</title>
  </head>
  <body>
  <h1>歡迎註冊</h1>
  <form action="insert2.jsp" method="post">
請輸入賬號(8位數):<input type="text" name="userid"><br>
請輸入密碼(6位數):<input type="password" name="userpwd"><br>
請確認密碼(6位數):<input type="password" name="userpwd2"><br>
    <br>
    <input type="submit" value="提交">
    <input type="reset" value="重置">
    
		     
</form>
  </body>
</html>


註冊頁面資料處理程式碼:
<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<html>
  <head>    
    <title>註冊結果</title>
  </head>
  <body>
 <%Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
		     String url="jdbc:sqlserver://localhost:1433; DatabaseName=p";    
		     String user="sa";
		     String password="123456"; // 使用者名稱和密碼;
		     String uid="";   //定義使用者ID
		     String upwd="";    //定義使用者密碼
		     Connection conn=DriverManager.getConnection(url,user,password);
		     Statement stmt2=conn.createStatement();	
		     PreparedStatement pstmt;	    
		     String userid=request.getParameter("userid");  //獲取註冊頁面的使用者ID
		     String userpwd=request.getParameter("userpwd");  //獲取註冊頁面的使用者密碼
		     String userpwd2=request.getParameter("userpwd2");
		     String sql1=String.format("select * from userinfo where uid=%s", userid);
		     String sql2="insert into userinfo values(?,?)";
		     ResultSet rs1=stmt2.executeQuery(sql1);
		     if(rs1.next()){                    //判斷該使用者是否存在
		         out.println("該使用者已存在");
		     }else if(!(userpwd.equals(userpwd2))){   //若使用者名稱不存在,則比較兩次輸入的密碼是否相同
		             out.println("兩次輸入的密碼不一致");
		     }else{                    //插入新使用者資訊
		     pstmt=conn.prepareStatement("insert into userinfo values(?,?)");
		     pstmt.setString(1,userid);
		     pstmt.setString(2,userpwd);
		     pstmt.executeUpdate();
		     out.println("註冊成功");
		      }
		     %>
		     <br>
		     <a href="login.jsp">返回登入介面</a>
  </body>
</html>