用struts2 验证用户登录demo
--------》login.jsp 引入 标签 <%@taglib uri="/struts-tags" prefix="s"%>
<body>
<s:form action="login">
<s:textfield name="userName" label="用户名称"/><br>
<s:password name="passWord" label="用户密码"/><br>
<s:submit value="登录" align="center"/>
</s:form>
</body>
-------》LoginAction
package com.xj.actions;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
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;
}
public String execute() throws Exception {
boolean userNameOK = false;
boolean passWordOK = false;
if (getUserName().trim().equals("jim")){
userNameOK = true;
}else{
userNameOK = false;
addFieldError("userName", "您输入的用户名称不正确");
}
if (getPassWord().trim().equals("123")){
passWordOK = true;
}else{
passWordOK = false;
addFieldError("passWord", "您输入的用户密码不正确");
}
if(passWordOK && userNameOK){
return "success";
}
return "input";
}
@Override
public void validate() {
if (getUserName() == null || getUserName().trim().equals("")) {
addFieldError("userName", "请输入用户名称");
}
if (getPassWord() == null || getPassWord().trim().equals("")) {
addFieldError("passWord", "请输入用户密码");
}
}
}
执行过程是这样:
表单提交给LoginAction,LoginAction先执行validate方法,检验loginName和password是否符合要求,
如果不符合,就会addFieldError (把错误信息放到Field栈里),如果Field栈里有错误信息的话,它就不会再执行execute方法,直接转发(Dispatcher)到INPUT即“input”所指定的错误处理页面, 这里为location="login.jsp",即让它返回到表单登录页去. 如果刚才validate方法中验证正确,即Field栈中没有错误信息,就会执行execute方法。在这里execute返回SUCCESS。
分享到:
相关推荐
通过这个Struts2登录DEMO,你可以了解并实践如何在实际项目中实现用户登录功能,包括接收用户输入、验证、处理异常以及显示结果。同时,这也是一个很好的起点,帮助你进一步学习Struts2框架的其他高级特性,如插件、...
这个“struts2,struts2 demo”很显然是一个包含Struts2框架示例代码的压缩包,旨在帮助开发者理解和学习如何在实际项目中运用Struts2。 **1. Struts2简介** Struts2是Apache软件基金会下的一个开源项目,它继承了...
通过这些知识点,我们可以了解到"Struts2 demo2"可能涵盖了Struts2的核心特性,如Action配置、数据校验、类型转换、OGNL表达式、防止重复提交和自定义标签库的使用。这些内容对于理解和实践Java web开发中的MVC模式...
Struts2 Login Demo 是一个基于Struts2框架的登录演示应用,它展示了如何在实际项目中实现用户登录功能。Struts2是Java EE平台上的一款开源MVC框架,它简化了Web应用开发,提供了强大的动作控制、拦截器机制以及丰富...
【JSP+Struts2 注册登录入门 demo】是一个典型的Web应用开发实例,它结合了Java Server Pages(JSP)和Struts2框架,用于实现用户注册和登录功能。Struts2是一个强大的MVC(Model-View-Controller)框架,它简化了...
在本示例中,"纯struts2开发带log4j的用户登录demo"是教你如何利用Struts2框架来实现一个简单的用户登录功能,并结合log4j进行日志记录。Log4j是一个广泛使用的日志记录工具,它提供了灵活的日志配置,有助于调试、...
5. **Interceptor使用**:可能有一些预定义的Interceptor如`logger`和`validation`,用于日志和表单验证,也可能是自定义的Interceptor,展示了如何扩展Struts2的功能。 6. **依赖的jar包**:Struts2运行所需的库,...
这个"struts2入门demo"是为初学者准备的一个基础实践项目,旨在帮助理解Struts2的核心概念和工作流程。让我们深入探讨一下Struts2的关键知识点。 首先,Struts2是一个基于MVC(Model-View-Controller)架构的框架,...
综上所述,这个DEMO涵盖了Struts2框架的基础使用、用户登录验证的实现、以及一些基本的安全考虑。通过分析这个DEMO,开发者可以学习到如何在Struts2环境中构建简单的Web应用程序,并了解相关的最佳实践。
Struts2支持多种视图技术,包括JSP、FreeMarker、Velocity等,这个demo可能使用JSP来展示结果。 6. **web.xml**:Web应用的部署描述符,配置了Struts2的前端控制器Filter,以及可能的初始化参数。 此外,SSH集成...
- Struts2的拦截器是AOP(面向切面编程)的一种实现,可以在Action执行前后添加额外的功能,如日志记录、权限检查、数据验证等。在`struts.xml`中,你可以配置拦截器栈,定义Action执行的顺序。 6. **结果类型**:...
Struts2 提供了一个强大的验证框架,允许用户创建自定义验证器来满足各种需求。 #### 二、自定义验证程序的实现 ##### 1. 实现 Validator 接口 为了实现自定义的验证器,首先需要继承或实现 Struts2 的 Validator...
在这个“struts2-demo”项目中,我们将探讨Struts2的核心概念以及如何利用拦截器实现登录验证。 首先,让我们深入理解Struts2框架的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,处理用户...
在这个“自己配置的struts2 demo”中,我们将会探讨Struts2的核心概念、配置步骤以及如何通过源代码实现一个简单的应用。 首先,Struts2框架的核心在于Action类,它是业务逻辑处理的主要组件。在`src`目录下,通常...
6. **拦截器类**:自定义拦截器可以扩展Struts2的功能,例如登录验证、日志记录等。 7. **资源文件**:如properties文件,用于国际化和本地化设置,或者XML文件,用于配置其他服务。 通过这个小demo,你可以学习和...
这个基于Struts2的博客网站Demo是开发者为了个人学习目的创建的一个实例项目,它展示了如何在实际开发中应用Struts2框架。在这个项目中,开发者可能涉及了以下几个关键知识点: 1. **MVC模式**:Struts2遵循Model-...
Struts2Demo是一个基于Struts2框架的示例项目,主要展示了如何利用Struts2进行Web应用程序开发,尤其是关于用户登录功能的实现。Struts2是Apache软件基金会下的一个开源项目,它是一个用于构建企业级Java Web应用的...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中广泛使用,极...通过`Struts2Demo`实例,你可以掌握如何创建和使用这些注解,以及如何在实际项目中应用它们,从而提升你的Java Web开发技能。
在`struts2Demo`中,JSP文件会使用Struts2的标签库,如`s:form`, `s:textfield`, `s:submit`等,来简化页面与Action之间的交互。这些标签会自动处理表单提交、验证以及错误显示等功能。 控制器层的实现主要依赖于...
通过这个Demo,开发者可以了解Struts验证框架的工作原理,学习如何在实际项目中应用它来提高数据质量和安全性。不过,"请不要下载哈..."的描述可能意味着这个示例可能已经过时或者不再可用,建议寻找官方的或者更新...