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基础与案例开发详解》,清华大学出版社