- 浏览: 250567 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 917<s:set name="number&quo ... -
Struts2中常量配置default.properties默认配置文件详解
2011-01-01 09:40 2317struts.configuration 该属性指定 ... -
Struts2中Action类的三种定义方式
2011-01-01 09:22 12881.重写execute方法 package com.z ... -
Struts2处理用户输入信息的三种方式
2011-01-01 09:06 832<form action="logi ... -
权限过滤器
2010-12-08 22:09 1235在网页制作中往往有些 ... -
定义一个中文字符过滤器
2010-12-08 20:45 1007package com.zchen.util; impo ... -
struts表单属性简单标签
2010-12-04 09:57 1085<body> <h1>登 ... -
声名式异常处理
2010-11-30 19:38 946新建一个登录页面: <body> < ... -
struts自带的转换类——StrutsTypeConverter
2010-11-30 15:05 1492在实际开发中其实我们很少去使用DefaultTypeConve ... -
全局类型转换——Point
2010-11-30 14:36 1036与局部类型转换对应的是全局类型转换: 当一个jsp文件要输入 ... -
局部类型转换——Point
2010-11-30 14:22 996这里用一个例子介绍局部类型转换: 1.先在MyEclipse ... -
表单基本验证(1)
2010-11-30 12:47 885package com.zchen.struts.action ... -
第一个struts2程序
2010-11-30 12:26 8301.新建webapp: struts ... -
Struts配置文件的优先级——常量配置
2010-11-30 11:13 1479struts的常量配置可以在struts.xml、web.xm ... -
表单重复提交
2010-11-30 09:34 911<body> <form acti ... -
自定义拦截器
2010-11-30 09:26 943package com.zchen.interceptor; ... -
转换器
2010-11-30 08:42 761一、概述 在B/S应用中,将字符串请求参数转换为相应 ... -
OGNL
2010-11-30 08:30 918<body> <ol> &l ... -
动态结果类型
2010-11-30 07:09 881package com.zchen.struts2.user. ... -
全局结果类型
2010-11-30 07:05 808<?xml version="1.0" ...
相关推荐
而"struts2 interceptor annotation plugin"则是Struts2框架提供的一种使用注解来配置拦截器的方式,这种方式更加简洁、直观,减少了XML配置文件的复杂性。 注解(Annotation)是Java编程语言的一个重要特性,它...
1. **配置顺序**:Spring MVC按照注册拦截器的顺序执行它们,如果`<mvc:annotation-driven />`配置在拦截器之后,那么可能会导致拦截器无法正常工作,因为Spring可能已经处理了请求,而没有交给拦截器。 2. **命名...
本主题聚焦于一个经典的Java企业级应用架构:Spring 2.5、iBatis 2.3、Struts 2.1 和 DWR 3 的整合,以及使用注解(Annotation)进行配置。这四个组件的结合可以构建出一个功能强大、可扩展性好、易于维护的Web应用...
这里主要讨论的是如何将这三者结合,并利用注解(Annotation)进行配置,以简化开发过程。 Struts2是MVC(模型-视图-控制器)框架,主要负责处理HTTP请求和控制应用的流程。它通过Action类处理业务逻辑,使用拦截器...
- 拦截器的配置通常在`struts.xml`配置文件中进行,通过`<interceptor>`和`<interceptor-stack>`元素定义。 2. **扩展Struts**: - Struts允许开发者自定义拦截器,以满足特定需求。创建自定义拦截器需要继承`...
Struts2注解是Java开发框架Struts2中的一种特性,它引入了JDK1.5及更高版本的注解(Annotation)概念,使得开发者能够更简洁地配置Struts2框架,减少XML配置文件的使用,提高开发效率。注解提供了一种方式,将元数据...
3. 配置Redis:在`application.properties`或`application.yml`中配置Redis的连接信息,如主机地址、端口、密码等。 4. 使用RedisTemplate:Spring Boot提供`RedisTemplate`用于操作Redis,包括设置、获取、过期等...
在给定的“struts2-Annotation”主题中,重点是Struts2框架如何利用注解(Annotation)来增强其功能和简化配置。注解是一种元数据,可以在代码中嵌入,提供有关类、方法或字段的额外信息,而无需编写XML配置文件。 ...
这里提到的"ssh包(基于annotation)"很可能是指SSH框架在使用注解(Annotation)进行配置的情况。 Spring框架是SSH中的核心,它负责管理对象的生命周期和依赖关系。使用注解可以使Spring配置更加简洁,避免了XML配置...
在Struts2中,注解(Annotation)的使用极大地简化了配置过程,尤其是对于验证用户输入数据的部分。这篇博文将深入探讨如何利用Struts2的注解进行数据验证。 首先,我们需要了解Struts2中的核心注解。`@Action`注解...
在给定的压缩包文件中,包含的是这三者的混合使用,既有基于Annotation的配置,也有传统的XML配置方式。 Struts2是一个开源的MVC框架,它提供了丰富的动作(Action)和结果(Result)类型,以及拦截器(Interceptor...
2. 配置Struts2:在struts.xml中配置Action和Interceptor,使用注解进行Action映射。 3. 配置Spring:在applicationContext.xml中配置Bean,使用注解定义Service、DAO等组件。 4. 配置Hibernate:在hibernate.cfg....
import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport implements SessionAware { @Action(value = ...
这篇博客"使用EJB+Annotation实现AOP的DEMO"主要介绍了如何在EJB中利用注解(Annotation)来实现AOP的功能。在Java EE中,EJB 3.0及后续版本引入了大量的注解,使得开发者可以免去编写XML配置文件,直接在代码中声明...
在Java Web开发中,拦截器(Interceptor)是一个重要的概念,特别是在使用MVC框架如Struts2时。拦截器可以理解为一种预处理和后处理机制,它在请求到达控制器之前和离开控制器之后进行操作,例如日志记录、权限检查...
这篇详细说明将深入探讨这三个框架如何协同工作,以及如何利用注解(Annotation)来简化配置。 Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建可维护性和扩展性良好的Web应用程序。它提供了丰富的...