JavaBean元件<jsp:forward>動作<jsp:param>動作登入頁面輸入使用者名稱和密碼,然後進入檢查頁面判斷是否符合要求,符合要求跳轉到成功介面,不符合要求返回登入介面,顯示錯誤資訊。
阿新 • • 發佈:2021-01-16
JavaBean元件
JavaBean元件實際是一種java類。通過封裝屬性和方法成為具有某種功能或者處理某個業務的物件。
特點:1、實現程式碼的重複利用。2、容易編寫和維護。3、jsp頁面呼叫方便。
javabean類的書寫規則:一般屬性是private,訪問屬性的方法設定為public。對外提供setxxx和getxxx來設定和呼叫屬性。需提供無參的建構函式,如果定義了有引數的建構函式、則需要重新定義無參的建構函式。
建立使用者登入的javabean
package com.zyz; public class UserBean { private String username;// 使用者名稱 private String pwd;// 密碼 // 無參建構函式 public UserBean() { } // 構造方法 public UserBean(String username, String pwd) { this.username = username; this.pwd = pwd; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
常用的JSP動作
1.1 jsp:forward動作
語法:<jsp:forward page="轉發的頁面url"> </jsp:forward>
作用:頁面轉發跳轉到新的頁面,url可以是絕對路徑也可以是相對路徑
1.2jsp:param動作
語法格式:<jsp:param name="引數名" value="引數值"></jsp:param>
作用:傳遞引數,傳遞的引數封裝在request請求中,引數的值可以在目標頁面中通過request物件取得。不能單獨使用
舉例:jsp:param動作和jsp:forward動作一起使用,在頁面請求轉發時傳遞引數。
UserBean類
package com.zyz; public class UserBean { private String username;// 使用者名稱 private String pwd;// 密碼 // 無參建構函式 public UserBean() { } // 構造方法 public UserBean(String username, String pwd) { this.username = username; this.pwd = pwd; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } // 檢查方法 public boolean check() { if ("xiao".equals(username) && "pass123".equals(pwd)) { return true; } else { return false; } } }
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登入介面</title>
</head>
<body>
<%
String error = request.getParameter("error");
if (error != null) {
out.print("<font color=red>" + error + "</font>");
}
%>
<form action="checklogin.jsp" method="post">
使用者名稱:<input type="text" name="username"> 密碼:<input
type="password" name="pwd"> <input type="submit" value="提交">
<input type="reset" value="取消">
</form>
</body>
</html>
checklogin.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*,com.zyz.UserBean"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>檢查頁面</title>
</head>
<%
//獲取提交的使用者名稱和密碼
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
UserBean user = new UserBean(username, pwd);//直接呼叫建構函式,傳參
boolean flag = user.check();//呼叫資訊匹配方法
if (flag) {
%>
<jsp:forward page="success.jsp">
<jsp:param value="<%=user.getUsername()%>" name="username" />
<jsp:param value="<%=user.getPwd()%>" name="pwd" />
</jsp:forward>
<%
} else {
%>
<jsp:forward page="login.jsp">
<jsp:param value="error message,please you input the information"
name="error" />
</jsp:forward>
<%
}
%>
<body>
</body>
</html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登入成功介面</title>
</head>
<body>
<h1>登入成功</h1>
使用者名稱:<%=request.getParameter("username") %>
密碼:<%=request.getParameter("pwd") %>
</body>
</html>
執行截圖