1. 程式人生 > 其它 >JavaBean元件<jsp:forward>動作<jsp:param>動作登入頁面輸入使用者名稱和密碼,然後進入檢查頁面判斷是否符合要求,符合要求跳轉到成功介面,不符合要求返回登入介面,顯示錯誤資訊。

JavaBean元件<jsp:forward>動作<jsp:param>動作登入頁面輸入使用者名稱和密碼,然後進入檢查頁面判斷是否符合要求,符合要求跳轉到成功介面,不符合要求返回登入介面,顯示錯誤資訊。

技術標籤:java程式設計jsp

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>

執行截圖
在這裡插入圖片描述
在這裡插入圖片描述