〖登录功能〗Struts2框架实现登录功能
访问登录页面,如果输入的用户名为江河,并且密码为8023,则跳转至登录成功页面,并且将用户名保存在session中,否则则跳转至登录失败页面。
项目结构
Jsp页面
login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>登录</title></head><body><form action="default/login" method="post">用户名:<input type="text" name="user.userName" /><br />密 码:<input type="password" name="user.password" /><br /><input type="submit" /></form></body>
</html>
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html><head><title>登录成功</title></head><body>欢迎您,${sessionScope.get("CURRENT_USER").userName}</body>
</html>
fail.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>登录失败</title></head><body>用户名或密码不匹配。</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>
实体类
User类
package entity;public class User {private String userName;private String password;public User() {}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;}
}
Action业务控制器
LoginAction
package action;import com.opensymphony.xwork2.Action;
import entity.User;public class LoginAction implements Action {private User user;public String execute() throws Exception {System.out.println("用户名:" + user.getUserName());System.out.println("密码:" + user.getPassword());if ("江河".equals(user.getUserName()) && "8023".equals(user.getPassword())) {/ 将user对象保存在session中Map<String, Object> session = null;session = ActionContext.getContext().getSession();session.put("CURRENT_USER", user);return Action.SUCCESS;} else {return Action.ERROR;}}public User getUser() {return user;}public void setUser(User user) {this.user = user;}
}
struts.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><package name="default" namespace="/default" extends="struts-default"><action name="login" class="action.LoginAction" method="execute"><!--结果为字符串"success"时,跳转至登录成功页面--><result name="success">/success.jsp</result><!--结果为字符串"error"时,跳转至登录成功页面--><result name="error">/fail.jsp</result></action></package>
</struts>
运行结果
输入正确的用户名和密码
输入错误的用户名和密码
我寻见一片海 碧蓝且耀着光
大片船只航行其上 都向着远方
Shared by Foriver_江河