javaEE之jsp+JavaBean实现登录功能

javaEE之jsp+JavaBean实现登录功能(不加数据库)

实现效果

登录页面

登陆之后的主页面

出错页面
JavaBean文件:

#UserBean.java

package nmx;

public class UserBean {
	private String username;
	private String realname;
	private String sex;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getRealname() {
		return realname;
	}
	public void setRealname(String realname) {
		this.realname = realname;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}

#UserDataBean.java

package nmx;

public class UserDataBean {
	private String username;
	private String password;
	private String realname;
	private String sex;
	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;
	}
	public String getRealname() {
		return realname;
	}
	public void setRealname(String realname) {
		this.realname = realname;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public UserDataBean(String u,String p,String r,String s){
		username=u;
		password=p;
		realname=r;
		sex=s;
	}
	public UserDataBean(){}
	//默认的无参的构造函数
}

#UserLoginBean

package nmx;

public class UserLoginBean {
	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;
	}
}

#UserManagerBean

package nmx;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class UserManagerBean {
	private List<UserDataBean> userList;

	public List<UserDataBean> getUserList() {
		return userList;
	}

	public void setUserList(List<UserDataBean> userList) {
		this.userList = userList;
	}
	public UserManagerBean(){
		userList=new LinkedList<UserDataBean>();
		userList.add(new UserDataBean("sa","sa","管理员","男"));
		userList.add(new UserDataBean("test","abc123","测试员","女"));
	}
	
	public UserBean login(String username,String password){//登录验证函数
		UserBean userBean=null;
		Iterator<UserDataBean> iter=userList.iterator();
		while(iter.hasNext()){
			UserDataBean user=iter.next();
			if(user.getUsername().equals(username)){
				if(user.getPassword().equals(password)){
					userBean =new UserBean();
					userBean.setUsername(username);
					userBean.setRealname(user.getRealname());
					userBean.setSex(user.getSex());
				}
				break;
			}
		}
		return userBean;
	}
}

jsp/html文件:
#login.html


    <!DOCTYPE html>
<html>
  <head>
    <title>登录</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
    <form action="validate.jsp" method="post">
    用户名:<input type="text" name="username"/><br>
 密码: <input type="password" name="password" /><br>
 <input type="submit" value="登录" />
    </form>
  </body>
</html>

#validate.jsp

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'validate.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <% request.setCharacterEncoding("utf-8"); %>
   <!-- 将登录表单里的参数读到UserLoginBean的java类里面 -->
    <jsp:useBean id="userLogin" class="nmx.UserLoginBean" scope="request"/>
    <jsp:setProperty property="*" name="userLogin" />
    <jsp:useBean id="userManager" class="nmx.UserManagerBean" scope="application" />
    <% UserBean userBean=userManager.login(userLogin.getUsername(), userLogin.getPassword());
     if(userBean!=null){
       session.setAttribute("user", userBean);
       response.sendRedirect("main.jsp");
     } else{
     response.sendRedirect("error.html");
     }
     %>
  </body>
</html>

#main.jsp

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'main.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <jsp:useBean  id="user" class="nmx.UserBean" scope="session" />
    <% if(user.getUsername()==null) response.sendRedirect("login.html"); %>
    Hi,<%=user.getUsername() %><br>
    <jsp:useBean id="userManager" class="nmx.UserManagerBean" scope="application" />
    <table border="1">
    <caption>用户列表</caption>
    <tr><th>用户名</th><th>密码</th><th>姓名</th><th>性别</th></tr>
    <% Iterator<UserDataBean> iter=userManager.getUserList().iterator();
    while(iter.hasNext()){
      UserDataBean userData=iter.next();
    
     %>
     <tr><td><%=userData.getUsername() %></td><td><%=userData.getPassword() %></td>
     <td><%=userData.getRealname() %></td><td><%=userData.getSex() %></td></tr>
  <%  } %>
    </table>
  </body>
</html>

#error.html

<!DOCTYPE html>
<html>
  <head>
    <title>error.html</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    <meta http-equiv="content-type" content="text/html;charest=utf-8">
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  <body>
    用户名或密码错误,请<a href="login.html">重新登录</a>
  </body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_43699616/article/details/84074531