- 浏览: 244942 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (179)
- Spring3.0 (28)
- HIbernate3.5.6 (35)
- Struts2.1.8 (42)
- JSP (1)
- Servlet (0)
- JAVASE (16)
- JavaWeb (1)
- javaEE (0)
- SSH2整合 (0)
- EJB (0)
- Oracle (7)
- Ajax (7)
- Quartz作业调度框架 (6)
- jsValidationFramework (1)
- FCKeditor (1)
- ExtJS (29)
- JSF (0)
- JPA (0)
- JBoss Seam (0)
- JSON (0)
- Webservice (0)
- JQuery (1)
- Javascript (1)
- Css+DIV (0)
- Lunch (0)
- Linux (0)
- PHP (0)
- XML (1)
- Ibatis (0)
- DWR (0)
- DWZ (0)
最新评论
-
Nabulio:
good
Spring配置SessionFactory -
唤流年:
[color=red][/color] ...
Spring配置SessionFactory -
wangcl011:
Oracle通过数据泵网络导入另一个数据库,不生成DMP文件, ...
oracle命令导入dmp文件 -
rochou:
第一个Hibernate实现CRUD -
ningwuyu:
Entity 类是那个jar里面的
PropertyUtils MethodUtils用法
利用注解配置拦截器:
在xwork包下有:
com.opensymphony.xwork2.interceptor.annotations.After.class
com.opensymphony.xwork2.interceptor.annotations.Before.class
com.opensymphony.xwork2.interceptor.annotations.BeforeResult.class
com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor.class
它们是用来配置annotation的。其中前三个依赖于AnnotationWorkflowInterceptor。下面用例子介绍一下:
<%@ taglib prefix="s" uri="/struts-tags" %> <body> <s:form method="POST" action="login.action"> <s:textfield name="user.username" label="Username:"></s:textfield> <s:password name="user.password" label="Password:"></s:password> <s:submit value="提交"></s:submit> </s:form> </body>
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<?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="annotation" extends="struts-default"> <interceptors> <interceptor name="annotationInterceptor" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor"></interceptor> </interceptors> <action name="login" class="com.zchen.action.LoginAction" > <result name="success">index.jsp</result> <interceptor-ref name="annotationInterceptor"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </action> </package> </struts>
package com.zchen.action; import java.util.Map; import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.interceptor.annotations.After; import com.opensymphony.xwork2.interceptor.annotations.Before; import com.opensymphony.xwork2.interceptor.annotations.BeforeResult; import com.zchen.model.User; public class LoginAction extends ActionSupport implements SessionAware { private static final long serialVersionUID = 4387832093273420762L; private User user = null; public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public String execute() throws Exception { System.out.println("action方法"); System.out.println(user.getUsername()); System.out.println(user.getPassword()); return super.execute(); } @Before public void doBefore() { System.out.println("action执行之前方法被调用"); } @After public void doAfter() { System.out.println("action执行之后方法被调用"); } @BeforeResult public void doBeforeResult() { System.out.println("result执行之前方法被调用"); } public void setSession(Map<String, Object> arg0) { } }
package com.zchen.model; public class User { 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; } }
此时输出顺序是:
action执行之前方法被调用
action方法
admin
1234
result执行之前方法被调用
action执行之后方法被调用
所以我们可以用这种配置判断用户是否登录,只有登录了才可以访问页面:
(我们单写一个Action类作为权限管理简要代码如下)
package com.zchen.action; import java.util.Map; import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionSupport; public class AnthInterceptor extends ActionSupport implements SessionAware { private static final long serialVersionUID = 4387832093273420762L; Map session; public String doBefore(){ if(session.get("login")==null){ //如果没有session表示用户还没有登录 return Action.LOGIN; }else{ //返回null表示程序继续执行execute方法而此方法默认返回success return null; } } public void setSession(Map<String, Object> session) { this.session = session; } }
在struts.xml中配置即可。
发表评论
-
得到一个数值循环它的次数
2012-03-16 10:01 878<s:set name="number&quo ... -
Struts2中常量配置default.properties默认配置文件详解
2011-01-01 09:40 2282struts.configuration 该属性指定 ... -
Struts2中Action类的三种定义方式
2011-01-01 09:22 12641.重写execute方法 package com.z ... -
Struts2处理用户输入信息的三种方式
2011-01-01 09:06 809<form action="logi ... -
权限过滤器
2010-12-08 22:09 1205在网页制作中往往有些 ... -
定义一个中文字符过滤器
2010-12-08 20:45 980package com.zchen.util; impo ... -
struts表单属性简单标签
2010-12-04 09:57 1058<body> <h1>登 ... -
声名式异常处理
2010-11-30 19:38 923新建一个登录页面: <body> < ... -
struts自带的转换类——StrutsTypeConverter
2010-11-30 15:05 1464在实际开发中其实我们很少去使用DefaultTypeConve ... -
全局类型转换——Point
2010-11-30 14:36 1011与局部类型转换对应的是全局类型转换: 当一个jsp文件要输入 ... -
局部类型转换——Point
2010-11-30 14:22 966这里用一个例子介绍局部类型转换: 1.先在MyEclipse ... -
表单基本验证(1)
2010-11-30 12:47 859package com.zchen.struts.action ... -
第一个struts2程序
2010-11-30 12:26 8111.新建webapp: struts ... -
Struts配置文件的优先级——常量配置
2010-11-30 11:13 1457struts的常量配置可以在struts.xml、web.xm ... -
表单重复提交
2010-11-30 09:34 878<body> <form acti ... -
自定义拦截器
2010-11-30 09:26 913package com.zchen.interceptor; ... -
转换器
2010-11-30 08:42 732一、概述 在B/S应用中,将字符串请求参数转换为相应 ... -
OGNL
2010-11-30 08:30 892<body> <ol> &l ... -
动态结果类型
2010-11-30 07:09 852package com.zchen.struts2.user. ... -
全局结果类型
2010-11-30 07:05 767<?xml version="1.0" ...
相关推荐
用注解(annotation)方式配置struts2 (webwork) 中action的拦截器(interceptor)
基于数据库和基于配置文件两种方式的访问控制存在如下问题:实现复杂;与类的设计分离,容易产生不一致;实现细粒度较困难等。针对这些问题,结合网络教学系统的开发,提出了一种基于Annotation和拦截器实现访问控制的实现...
Springboot-mybatis-annotation 这是mybatis 的注解版 Springboot-mail 这是springboot 发邮件 Springboot-redis springboot 之使用redis数据库 Springboot-editor.md springboot 与editor.md 整合 Springboot-...
│ │ │ ├─annotation 自定义注解类 │ │ │ ├─common 公共类 │ │ │ ├─config 配置类 │ │ │ ├─controller 控制层 │ │ │ ├─dao dao层接口 │ │ │ ├─exception 全局统一异常处理 │ │ ...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于...
annotation 自定义注解 config 全局配置 exception 全局异常 interceptor 拦截器 mall 商城 backstage 运营 controller 控制器 mapper 数据库访问层 service 业务层 littlesoft 小程序 result 返回结果 utils 工具类...
-- 此处hibernate 的映射 采用的是.xml 配置同则应设置具体配置文件名(*.hbm.xml)</value>--> </list> </property> <!-- 事务配置管理 --> ...
10.使用0配置:ZERO Annotation 15 11.Result配置详解 15 探讨type类型: 16 Type类型值 16 作用说明 16 对应类 16 chain 16 用来处理Action链 16 com.opensymphony.xwork2.ActionChainResult 16 dispatcher 16 用来...
-- Support Shiro Annotation 必须放在springMVC配置文件中 --> <!-- 异常处理,权限注解会抛出异常,根据异常返回相应页面 --> class="org.springframework.web.servlet.handler....
-- Support Shiro Annotation 必须放在springMVC配置文件中 --> <!-- 异常处理,权限注解会抛出异常,根据异常返回相应页面 --> class="org.springframework.web.servlet.handler....
查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于...
配置依赖关系4.2。 制定代理类规范4.3。 项目中的用法(又名Dagger用法) 4.4。 定制生成的代码5.高级用法(模式) 5.1。 模仿最后一堂课的界面5.2。 副作用5.3。 运行时定义的输出值5.3.1。 跳过内部通话和简单...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...