今天没事干看了看struts2.1的拦截器部分,自己做了一个小例子,汇总一下,有需要的朋友也可以看看……
注:有关struts2.1的拦截器的概念东东我就不介绍了,自己可以去查查资料.
下面是本人写的登录实现拦截器的例子:
1. login.jsp
<s:form action="userLoginAction.action" method="post">
Username:<s:textfield name="user.username" /><br>
Password:<s:password name="user.password" /><br/>
<s:submit value="Submit" /> <s:reset value="Reset" />
</s:form>
2. struts.xml
<package name="User" extends="struts-default">
<!-- 设置自己创建的拦截器栈 -->
<interceptors>
<interceptor name="loginInterceptor" class="org.com.ssh.action.LoginInterceptor"></interceptor>
<interceptor-stack name="loginDefaultStack">
<interceptor-ref name="loginInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<global-results>
<result name="login" type="redirect">/login.jsp</result>
</global-results>
<action name="findUserAction" class="org.com.ssh.action.UserAction" method="FindUser">
<result>/index.jsp</result>
<!-- 此处引用拦截器 -->
<interceptor-ref name="loginDefaultStack"></interceptor-ref>
</action>
<action name="userLoginAction" class="org.com.ssh.action.UserLoginAction" method="UserLogin">
<result name="success">/loginSuc.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
注意:配置文件里最好使用全局转发的login代码
struts2 写道
<global-results>
<result name="login" type="redirect">/login.jsp</result>
</global-results>
3. UserLoginAction.java
private User user;
@Autowired
private UserService userservice;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public UserService getUserservice() {
return userservice;
}
public void setUserservice(UserService userservice) {
this.userservice = userservice;
}
/**
* 验证登录用户是否正确
* @return tipMes
*/
public String UserLogin()
{
String tipMes = "";
//MD5对密码进行加密
MD5 m = new MD5();
user.setPassword(m.getMD5ofStr(user.getPassword()));
Boolean b = userservice.valLogin(user);
if(b == true)
{
user = userservice.FindUserPro(user);
ActionContext.getContext().getSession().put("user", user);
return SUCCESS;
}
else
{
this.addFieldError(tipMes, "您输入的Username或者Password不匹配,请重新输入!");
return ERROR;
}
}
4. LoginInterceptor.java
public class LoginInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext actionContext = invocation.getInvocationContext();
Map session = actionContext.getSession();
User user = (User)session.get("user");
if (user == null){
return Action.LOGIN;
}
else
{
return invocation.invoke();
}
}
}
5. loginSuc.jsp
<body>
登录成功!
</body>
OK,简单的登录的拦截器就搞定了!
分享到:
相关推荐
基于 Struts2.1.8 包括Struts2的基本应用、文件上传、拦截器、输入校验、国际化、OGNL表达式、Struts2标签等内容。
struts2 入门参考手册 基于struts-2.1.6版本编写的入门教程,包含了标签,拦截器,文件上传下载,与spring整合等等应用,希望对刚接触struts2的朋友有帮助
目录 ...struts2表单标签 1 1、struts资源文件中文解决方法 1 2、开发struts2流程 1 3、创建拦截器: 2 ...添加Struts2.1开发支持 39 添加Spring开发支持 39 添加Hibernate支持 40 添加Jar包 42 修改Web.xml文件, 42
4、Struts2 利用拦截器进行AOP 编程,实现如权限拦截功能 5、Struts2 提供了类型转换器 6、Struts2 提供多种表现层技术,如JSP/Freemarker/Velocity 等 7、Struts2 的输入验证可以对指定方法进行验证,解决Struts1 ...
MVC模式(model view controller) 模型:封装应用程序的数据和业务逻辑(POJO一个普通的JAVA类) 视图:实现应用程序的信息显示功能(JSP) 控制器:接收来自用户的输入...Struts2中最主要的一个就是过滤器filter
4.3 研究内建的Struts 2拦截器 67 4.3.1 工具拦截器 67 4.3.2 数据转移拦截器 67 4.3.3 工作流拦截器 69 4.3.4 其他拦截器 72 4.3.5 内建的拦截器栈 73 4.4 声明拦截器 74 4.4.1 声明独立的拦截器和拦截器栈 74 ...
4.1 拦截器在Struts2中的缺省应用 47 4.2 拦截器原理实现 50 4.3 在Struts2中配置自定义的拦截器 53 4.3.1 扩展拦截器接口的自定义拦截器配置 54 4.3.2 继承抽象拦截器的自定义拦截器配置 56 4.3.3 继承方法拦截器的...
4 1.3.2. 受控目录 5 2. 入门例子 5 2.1. 项目 5 2.2. 在WEB.XML中,配置FILTERDISPATCHER过滤器 6 2.3. 配置STRUTS.PROPERTIES 6 2.4. 编写一个简单的ACTION类 7 2.5. STRUTS.XML配置文件 8...
2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例 26 2.5.1 部署描述文件和Struts...
18.3 使用DataSourceInjectorInterceptor拦截器 269 18.4 小结 273 第19章 定制结果类型 274 19.1 概述 274 19.2 编写一个自定义的结果类型 274 19.3 使用新的结果类型 277 19.4 小结 279 第20章 Velocity 280 ...
1. 实验目的 1.1.熟悉Struts过滤器; 1.2.熟悉Struts拦截器; 2. 实验环境 2.1 MyEclipse 2.2 Window XP 2.3 MySQL
2.6.1 struts 2内建拦截器介绍 95 2.6.2 定义和使用拦截器栈 97 2.6.3 使用自定义拦截器 98 2.7 小结 100 第3章 struts 2标签库详解与ajax技术应用 103 3.1 struts 2主题与模板 103 3.2 struts 2控制标签详解 ...
6.1.2拦截器及拦截器栈的应用 111 6.1.3自定义拦截器 115 6.2类型转换器 117 6.2.1struts2内置类型转换器 117 6.2.2引用类型的转换方式 117 6.2.3特殊对象的类型转换 118 6.2.4类型转换的错误处理 121 6.3...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
124 8.5.2 拦截器的实现原理 124 8.5.3 Struts2的内置拦截器 124 8.5.4 拦截器的配置和使用 125 8.5.5 自定义拦截器 126 8.6 一个简单的Struts2应用 130 8.7 小结 140 第9章 JSF 141 9.1 JSF技术简介 141 9.1.1 JSF...
8、拦截器 2.Spring入门 2.1.Springmvc是什么 3.3.jdbc编程步骤: 1、加载数据库驱动 2、创建并获取数据库链接 3、创建jdbc statement对象 4、设置sql语句 5、设置sql语句中的参数(使用preparedStatement) 6、通过...
17.6 商业银行网上账户管理系统具体实现——工具类、校验器及拦截器 17.7小结 第18章 hibernate分页系统(hibernate 3.0) 18.1 hibernate分页系统原理 18.2 封装javabean的commons-beanutils组件 18.3...
10.3.3 装配拦截器和Bean 212 10.3.4 测试和运行 214 10.3.5 AOP简介和相关概念 214 10.3.6 关于java.lang.ClassCastException: $Proxy0错误的解决方法 216 10.4 开发 Spring 2.0 AOP 应用 219 10.4.1 使用aop 标签...