Struts 实现登录
作者:斯
- 2022 年 9 月 24 日 河南
本文字数:1766 字
阅读完需:约 6 分钟
思路
1.首先创建一个项目,名为 StrutsTest
2.创建一个包存放 Struts,创建类,命名为 LoginAction.java
3.在该包下,创建一个 xml 文件,名为 struts.xml
4.把 jar 包导入 lib 目录下
5.在 web.xml 中配置过滤器
6.创建一个实体类 User,其中的属性值与 form 表单提交的数据保持一致
7.关键代码如下:
实现
目录结构如下:
1、LoginAction.java action 类
package sqgxy.xmp.action;
import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;import sqgxy.xmp.entity.User;
import java.util.Map;
public class LoginAction implements Action { //ActionSupport类private User user; //entity实体层的User
public String execute() throws Exception { //每次访问Action,默认执行execute()方法。
System.out.println("用户名:" + user.getUserName()); System.out.println("密码:" + user.getPassword());
/** * 简单的登录判断 */ if ("熊民普".equals(user.getUserName()) && "xmp".equals(user.getPassword())) { // 将user对象保存在session中 Map<String, Object> session = null; session = ActionContext.getContext().getSession(); session.put("CURRENT_USER", user); return Action.SUCCESS; //返回字符串SUCCESS,为struts.xml跳转做准备。 } else { return Action.ERROR; }}
public User getUser() { return user;}
public void setUser(User user) { this.user = user;} }
复制代码
2、User.java 实体类
package sqgxy.xmp.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;}}复制代码
3、struts.xml 配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><package name="default" namespace="/default" extends="struts-default">
<action name="login" class="sqgxy.xmp.action.LoginAction" method="execute">
<!--结果为字符串"success"时,跳转至登录成功页面--> <result name="success">/success.jsp</result>
<!--结果为字符串"error"时,跳转至登录成功页面--> <result name="error">/error.jsp</result>
</action>
</package></struts>复制代码
页面代码如下:
4、登录页面
<%--Created by IntelliJ IDEA.User: xmpDate: 2022/9/13Time: 9:04To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>登录</title></head><body>
<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>
复制代码
5、Error 页面
<%--Created by IntelliJ IDEA.User: xmpDate: 2022/9/13Time: 9:05To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>登录失败</title></head><body><h2 style="color: red">用户名或密码不匹配。</h2></body></html>复制代码
6、Success 页面
<%--Created by IntelliJ IDEA.User: xmpDate: 2022/9/13Time: 9:04To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java"%><html> <head> <title>登录成功</title> </head>
<body> 欢迎您,${sessionScope.get("CURRENT_USER").userName}</body></html>
复制代码
结果
1.登录界面:
2.登录失败界面:
3.登录成功界面:
划线
评论
复制
发布于: 刚刚阅读数: 2
版权声明: 本文为 InfoQ 作者【斯】的原创文章。
原文链接:【http://xie.infoq.cn/article/089a0c402fec672e672adb46d】。文章转载请联系作者。
斯
关注
在校大三学生一枚 2022.08.02 加入
喜欢学习编程,擅长技术栈JAVA










评论