解决方法:把拦截器配置到spring中就可以了。下面是实例:
1,自定义拦截器类1:
package com.dd.intercept;
import com.dd.action.PersonAction;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class CheckLoginInterceptor extends AbstractInterceptor {
//设置拦截器的名字
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
PersonAction action = (PersonAction)invocation.getAction();
System.out.println("拦截器1:开始拦截");
String result = invocation.invoke();
System.out.println("拦截器1:拦截结束");
return result;
}
}
2,自定义拦截器类2:
package com.dd.intercept;
import com.dd.action.PersonAction;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class CheckLoginInterceptor2 extends AbstractInterceptor {
//设置拦截器的名字
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
PersonAction action = (PersonAction)invocation.getAction();
System.out.println("拦截器2:开始拦截");
String result = invocation.invoke();
System.out.println("拦截器2:拦截结束");
return result;
}
}
3,配置struts配置文件;
<interceptors>
<interceptor name="checkLogin" class="checkLogin">
<param name="name">chenchaoyang</param>
</interceptor>
<interceptor name="checkLogin2" class="checkLogin2">
<param name="name">chenchaoyang</param>
</interceptor>
</interceptors>
<action name="addPerson" class="personAction" method="addPerson">
<result name="success">/person/addPerson_result.jsp</result>
<result name="input">/person/addPerson.jsp</result>
<result name="error">/person/addPerson_result.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="checkLogin"></interceptor-ref>
<interceptor-ref name="checkLogin2"></interceptor-ref>
</action>
4,spring配置文件
<bean id="checkLogin" class="com.dd.intercept.CheckLoginInterceptor">
</bean>
<bean id="checkLogin2" class="com.dd.intercept.CheckLoginInterceptor2">
</bean>
5,action类:
package com.dd.action;
import com.dd.dao.PersonDao;
import com.dd.domain.Person;
import com.opensymphony.xwork2.ActionSupport;
public class PersonAction extends ActionSupport {
private PersonDao pd;
private Person person;
private String tip;
public PersonDao getPd() {
return pd;
}
public void setPd(PersonDao pd) {
this.pd = pd;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public String getTip() {
return tip;
}
public void setTip(String tip) {
this.tip = tip;
}
public String addPerson(){
System.out.println("开始添加人");
System.out.println(getPerson().getAddress());
System.out.println(getPerson().getName());
pd.addPerson(person);
System.out.println("添加完毕");
return "success";
}
}
6,结果输出:
拦截器1:开始拦截
拦截器2:开始拦截
开始添加人
1212
1212
开始持久化
Hibernate:
select
hibernate_sequence.nextval
from
dual
持久化结束
Hibernate:
insert
into
myperson
(name, address, id)
values
(?, ?, ?)
添加完毕
拦截器2:拦截结束
拦截器1:拦截结束
分享到:
相关推荐
**Struts2** 是一个基于MVC(Model-View-Controller)设计模式的开源Web应用框架,主要用于控制应用的流程,提供了丰富的拦截器和结果类型,使得开发者可以方便地处理HTTP请求和响应。Struts2的核心是Action类,它...
SSH整合是指将Struts2、Spring和Hibernate这三个流行的开源Java框架集成在一起,以构建高效、模块化的企业级Web应用程序。这个“SSH整合 Struts2.1+Spring4.1+Hibernate4.1”是一个预配置的框架模板,适用于快速开发...
SSH整合,全称为Struts2、Spring和Hibernate的集成,是Java Web开发中常见的三大框架组合,用于构建高效、可维护的Web应用。这个“SSH整合(Struts2.0)登录实例”提供了如何在Struts2.0框架下实现用户登录功能的...
SSH整合完成后,开发人员可以通过Struts 2处理用户请求,Spring负责管理对象和事务,而Hibernate则完成数据的持久化。这种三层架构使得开发者可以更专注地处理各自领域的任务,提升开发效率,同时也为项目的维护和...
配置文件的头部通常包括Struts的基本配置元素,如数据源、拦截器栈等,尽管这里没有具体内容,但理解其结构对于调试和扩展应用程序是必要的。 再者,Hibernate作为对象关系映射(ORM)工具,简化了Java应用与数据库...
然而,由于Struts1.2相对较旧,可能缺乏一些现代框架的特性,例如Action的注解配置、更强大的拦截器等。在新的项目中,开发者可能会选择更新的SSH版本,如Struts2和Spring Boot结合Hibernate的解决方案。 总之,这...
**Struts2** 是一个基于MVC设计模式的Web应用框架,它在Struts1的基础上进行了大量的改进和增强,提供了更强大的动作拦截器、更加灵活的配置方式以及对AJAX的良好支持。Struts2的核心是Action类,它是业务逻辑的载体...
Spring还集成了其他功能,如Spring MVC(Web层)、Spring JDBC和Spring ORM(数据访问层),在SSH整合中,Spring起到了粘合剂的作用,管理整个应用的生命周期和各个组件的协作。 在这个整合项目中,开发者已经实现...
Struts2提供了强大的拦截器机制,可以进行权限验证、数据校验等操作。在这个实例中,我们可能会看到Action类和配置文件(struts.xml)的定义,Action类会处理用户的登录和注册请求。 **Spring** 是一个全面的Java...
Struts2.3.24版本引入了更多的增强功能和性能优化,例如更强大的拦截器链,更好的类型转换支持以及对RESTful风格的支持。 Spring框架的核心是依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented...
### SSH整合 struts+hibernate+spring #### 一、SSH整合概述 在软件开发领域,特别是Java Web开发中,Struts、Spring 和 Hibernate 被广泛地应用于构建复杂的应用程序。这三大框架各有所长,分别在不同的层面发挥...
SSH整合是指将Struts2、Spring和Hibernate这三个开源框架整合在一起,用于构建高效、模块化的企业级Java Web应用。这个压缩包"ssh整合jar (struts2)"显然是为了帮助初学者整理和理解这些框架的集成过程,提供了一个...
SSH整合是指将Spring、Hibernate和Struts这三大Java开源框架集成在一起,用于构建高效、灵活的企业级Web应用程序。这三个框架分别负责不同的职责:Spring作为应用的基石,提供依赖注入(DI)和面向切面编程(AOP),...
Struts2的优势在于其可扩展性,可以方便地添加自定义拦截器和插件来满足各种需求。 **Spring** 是一个全面的后端应用程序框架,提供依赖注入(DI)和面向切面编程(AOP),以简化Java企业级应用的开发。Spring的...
Struts2的核心jar包包括`struts2-core.jar`,它包含了Action、拦截器、结果类型等核心组件。同时,可能还有其他相关的扩展包,如`struts2-convention-plugin.jar`用于约定优于配置的插件,`struts2-json-plugin.jar`...
1. 配置Struts2:添加Struts2的依赖,配置struts.xml文件以定义Action、拦截器和结果类型。 2. 集成Hibernate:导入Hibernate库,配置hibernate.cfg.xml文件,定义实体类和映射文件,创建SessionFactory。 3. 配置...
1. **配置 Struts 2**:在 `struts.xml` 文件中定义Action和结果,设置拦截器栈,确保Struts 2能够正确处理请求。 2. **集成 Spring**:在Struts 2中使用Spring的依赖注入,需要在 `struts-plugin.xml` 中配置...
SSH(Spring、Struts2、Hibernate)是一种常见的Java企业级应用开发框架组合,它整合了MVC模式的Struts2、轻量级IoC容器的Spring以及持久层框架Hibernate。在本项目中,我们将探讨如何将Struts2的核心库与SSH中的...
### SSH整合:Struts2 + Hibernate3 + Spring3 SSH框架整合是指将Spring、Struts2和Hibernate三个流行的企业级Java框架结合在一起,构建出一个高效、可扩展、易维护的Web应用程序架构。这种整合充分利用了每个框架...