您的位置:首页 > 编程语言 > Java开发

jsp页面中用JavaBean传值,实现简单登录界面

2016-05-11 22:21 357 查看
在web project项目的jsp中使用javaBean来实现简单登录界面。

注意:javaBean的范围,page,request,session,application它们各自的范围是不同,这点需要注意,不然会出现使用

<jsp:getProperty property="属性名称" name="bean对象名"/>


获取javaBean中值时,会显示 NULL等错误。

在这里我将使用jsp和JavaBean来实现简单登录界面(指定用户名和密码),登录成功时,在成功页面中显示用户名和密码,登录失败,返回重新登录。

下面是JavaBean代码 Sign.java

package beans;

public class Sign {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}


用户登录界面 userSign.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<body>
<form action="checkSign.jsp" method="post">
账户<input name="username" type="text"><br/>
密码<input name="password" type="password"><br/>
<input type="submit" value="登录">
</form>
</body>
</html>


判断用户名(账号)和密码是否是“张三”和“123456” checkSign.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<jsp:useBean id="sign" class="beans.Sign" scope="session"></jsp:useBean>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<body>
<%
request.setCharacterEncoding("gb2312");  //更改编码,能够传送中文字符串
String username=request.getParameter("username");
String password=request.getParameter("password");

if("张三".equals(username)&&"123456".equals(password)){
%>
<jsp:setProperty property="username" name="sign"></jsp:setProperty>
<jsp:setProperty property="password" name="sign"></jsp:setProperty>
<%
out.print(sign.getUsername());
response.sendRedirect("ok.jsp");
}else{
response.sendRedirect("failure.jsp");
}
%>
</body>
</html>


在这里,先判断用户名和密码是否是需要的,然后再将request获取到的用户名和密码抛给JavaBean,否则直接跳转到登录失败页面(failure.jsp),避免了垃圾信息传送,造成浪费空间和内存

if("张三".equals(username)&&"123456".equals(password)){
%>
<jsp:setProperty property="username" name="sign"></jsp:setProperty>
<jsp:setProperty property="password" name="sign"></jsp:setProperty>
<%
out.print(sign.getUsername());
response.sendRedirect("ok.jsp");
}else{
response.sendRedirect("failure.jsp");
}


接下来是用户登录成功的页面 ok.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<jsp:useBean id="sign" class="beans.Sign" scope="session"></jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
登录成功,欢迎
<font color="red">
<jsp:getProperty property="username" name="sign"/>
</font>
您的密码为
<font color="blue">
<jsp:getProperty property="password" name="sign"/>
</font>

</body>
</html>


下面是登录失败页面,点击返回直接跳转到登录界面 failure.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
登录失败
<a href="userSign.jsp">返回</a>
</body>
</html>


下面放几张截图看看(userSign.jsp)



登录成功界面(ok.jsp)



登录失败界面(failure.jsp)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: