JSP+JDBC資料庫應用開發初步

flyroc08發表於2020-10-28

JSP+JDBC開發資料庫應用

以下完成一個簡單的使用者登入示例程式:
通過登入頁面提交使用者名稱和口令進行登入,後端處理頁面通過JDBC訪問資料庫,查詢使用者名稱和口令,若查詢結果不為空,則跳轉到資源頁面。
實驗步驟如下:
1.新建前端頁面login.jsp,通過表單提交get請求到後端處理頁面loginhandle.jsp。

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"  import="java.util.*"%>
<html>
		<body>
			<form name="login" method="get"	action="loginhandle.jsp">
		   	姓名:<input name="userName" type="text"/><br />
		   	密碼:<input name="passWord" type="password"/>	<br />
				<input type="submit" name="Submit" value="提交">
				<input type="reset" value="重置">
			</form>			
		</body>
</html>
  1. WEB-INF/lib目錄下匯入MySQL連線元件jar包,src目錄下新建名稱為db的package,並匯入DBUtil.java檔案。

  2. 新建登入處理頁面loginhandle.jsp,首先通過import指令匯入JDBC相關類和db.DBUtil類,然後連線資料庫並接收前端請求引數,執行sql語句,最後根據查詢結果進行跳轉。

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"  import="java.util.*"%>
<%@ page import="com.mysql.jdbc.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="db.DBUtil" %>

<html>
	<body>
	<%
		/*---從前端頁面請求中獲取使用者提交的使用者名稱和口令---*/
		String username = ""; 
	   	String password = ""; 
	   	request.setCharacterEncoding("UTF-8");
		username = request.getParameter("userName");
		password = request.getParameter("passWord"); 
		
		/*---定義jdbc資料庫連線---*/
	    java.sql.Connection conn=null;
	    java.sql.PreparedStatement pre=null;
	    java.sql.ResultSet rs=null;
		try{
			conn=DBUtil.getConnection();	//呼叫DBUtil類的getConnection方法建立與資料庫的連線
     
		    /*---定義sql語句並設定引數---*/  
			String sql="select * from stu where username=? and password=?";	//“?”代表sql語句中的查詢條件引數值
		    pre=conn.prepareStatement(sql);
		    pre.setString(1,username);	//設定sql語句中查詢條件的第一個引數值為前端頁面提交的使用者名稱
		    pre.setString(2,password);	//設定sql語句中查詢條件的第二個引數值為前端頁面提交的使用者名稱
    
		    /*---執行sql語句---*/
		   	rs=pre.executeQuery();
   	
		   	/*---根據查詢結果進行登入跳轉處理 ---*/
		   	if(rs.next()){
				session.setAttribute("userName", username);
				session.setAttribute("passWord", password);
				response.sendRedirect("resource.jsp");
			}
			else{
				response.sendRedirect("login.jsp");
			}

		} catch(Exception e){
			e.printStackTrace();
		} finally {
			/*---釋放資源並關閉連線 ---*/
 		  	rs.close();
 		  	pre.close();
		   	conn.close();
		} 		
    %>
	</body>		
</html>	

相關文章