JSP应用的自我理解之4:JSP+JavaBean设计模式的具体实现

JSP规范中给出了两种设计方案,JSP模型1和JSP模型2,下面具体说

1、JSP模型1(JSP+JavaBean)


上个实例吧,具体文件名及具体干嘛的列张表,思路就清晰了~~



1、先新建一个名为JSP_JavaBean的Dynamic WEB工程吧



2、新建login.html登录页面,具体代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录页面</title>
</head>
<body>
	<form method="post" action="loginchk.jsp">
		用户名:<input type="text" name="name"><br>
		密  码:<input  type="password" name="password"><p>
		<input type="reset" value="重填">
		<input type="submit" value="登录">
	</form>

</body>
</html>


具体的页面应该是这样的:



3、新建loginchk.jsp验证页面

具体代码如下:

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ page import="bean.UserCheckBean" %>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<jsp:useBean id="user" scope="session" class="bean.UserBean"></jsp:useBean>
<jsp:setProperty property="*" name="user"/>

<%request.setCharacterEncoding("GBK");%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>用户验证页面</title>
</head>
<body>
<%
	UserCheckBean uc=new UserCheckBean(user);
	if(uc.validate())
	{
%>
		<jsp:forward page="welcome.jsp"></jsp:forward>
<%	}
	else
    {
        out.println("用户名或密码错误,请<a href=\"login.html\">重新登录</a>");
    }
%>
</body>
</html>

3、新建welcome.jsp欢迎你界面

具体代码如下:

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<jsp:useBean id="user" scope="session" class="bean.UserBean"></jsp:useBean>
<jsp:setProperty property="*" name="user"/>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>欢迎页面</title>
</head>
<body>
欢迎你,<jsp:getProperty name="user" property="name"/>!
</body>
</html>

然后,你要编写JavaBean文件,用来完成数据的验证工作,这个过程应该是要连接DB数据库来完成的,这里简化下吧,只验证用户"ChiHuoChen",密码"1234"对不对

4、在Java Resources的新建一个bean包,再在该包下建立UserBean和UserCheckBean两个Java类

UserBean.java类的具体代码如下:

package bean;

public class UserBean {
    private String name;
    private String password;
    
    public String getName()
    {
        return name;
    }
    
    public void setName(String name)
    {
        this.name=name;
    }
    
    public String getPassword()
    {
        return password;
    }
    
    public void setPassword(String password)
    {
        this.password=password;
    }
}

UserCheckBean.java的具体代码如下:

package bean;

public class UserCheckBean {
    protected UserBean user;
    
    public UserCheckBean()
    {
    }
    
    public UserCheckBean(UserBean user)
    {
        this.user=user;
    }
    
    public UserBean getUser()
    {
        return user;
    }
    
    public void setUser(UserBean user)
    {
        this.user=user;
    }
    
    public boolean validate()
    {
        String name=user.getName();
        String password=user.getPassword();
        
        //实际应用中,你应该查询数据库,验证用户名和密码。
        if("ChiHuoChen".equals(name) && "1234".equals(password))
	    {
	        return true;
	    }
	    else
	    {
	        return false;
	    }
    }	

}

然后,你跑一跑,应该没有问题,我这里没有用中文名,就是中文名输入之后,不对~~哎,比较麻烦,参考我的前一篇博客吧:《JSP应用的自我理解之三:JSP+Servlet实现表单验证》

当你看到这样的界面时,差不多了就~~



参考书目:《JSP基础与案例开发详解》,清华大学出版社

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值