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>
运行截图