`
ghyghoo8
  • 浏览: 193136 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[转]Struts2+Spring 中使用AOP拦截execute方法,出现get方法空指针异常 分享

阅读更多
Struts2+Spring 中使用Spring AOP拦截execute方法,出现get方法NullPointerException 异常,无法获取页面信息,经N多次Google后解决。方法为:<aop:config proxy-target-class="true"> 强制一直使用CGLIB生成代理即可。大致原因是因为我使用了接口,在Action中就用的java的代理从而使get方法失效。具体细节我还不懂,望有高人指点。

    解决上述问题还有一方法就是不继承ActionSupport。但还是不知道为什么……估计需要研究一下源码。
分享到:
评论
1 楼 tianhandigeng 2012-07-04  
我已经这样配置了,但是还是报,我是这样写的:
public class ActionPreResultAdvice implements MethodInterceptor{

	public Object invoke(MethodInvocation invocation) throws Throwable {
		HttpServletRequest request = ServletActionContext.getRequest();
		Object returnValue = null;
		try {
			returnValue = invocation.proceed();
		} catch (Throwable throwable) {
			request.setAttribute("msg" , "出现异常");
			throwable.printStackTrace();
			return "exception";
		}
		
		return returnValue;
	}

}


然后在applicationContext.xml中这样配置:
<!-- 异常处理 -->
	<bean id="actionPreResultAdvice" class="net.ysccc.exception.ActionPreResultAdvice" />
	
	<aop:config>
		<aop:advisor pointcut="execution(* com.opensymphony.xwork2..*.*(..))"
			advice-ref="actionPreResultAdvice"/>
	</aop:config>


就报错了,请问一下有什么问题吗?

相关推荐

    Struts2拦截器及其用法详细说明

    这篇文章将深入探讨Struts2拦截器的概念、工作原理以及如何在实际应用中使用它们。 **一、什么是Struts2拦截器** 拦截器是基于AOP(面向切面编程)思想的组件,它可以理解为在Action调用前后插入的逻辑处理。在...

    struts+hibernate+spring框架增删改查

    Struts、Hibernate和Spring是Java开发中常用的三个开源框架,它们各自负责Web应用程序的不同层面,组合使用能够构建出高效、可维护的系统。Struts1是MVC(Model-View-Controller)架构的实现,主要处理请求和视图的...

    ssh工作笔记整合(里面有Struts,hibernate,spring)

    - **Action(业务控制器)**:Struts2中的Action是POJO对象,不需要继承特定的类或实现特定的接口。Action对象负责处理具体的业务逻辑。 - **Struts配置文件(struts.xml)**:用于定义Action、拦截器等配置信息,是...

    Struts2 入门配置小实例

    在Struts2中,主要的配置文件是`struts.xml`。这个文件定义了Action类、结果页面、拦截器和全局配置等。例如,你可以通过配置Action来指定处理特定请求的类和方法。 3. **Action类**: Action类是处理用户请求的...

    ssh1实现简单的增删查改i+ssh2实现crud

    在Struts2中,可以创建一个表单,提交后调用Action的execute()方法,然后由Spring控制事务,确保数据安全插入。 2. **读取(Read)**:使用Hibernate的Session对象的get()或load()方法获取特定ID的对象,或者通过...

    SSH注解整合登陆功能

    在Web开发领域,SSH(Struts2 + Spring + Hibernate)是一个经典的MVC(Model-View-Controller)架构组合,常用于构建复杂的企业级应用程序。SSH框架整合登陆功能是开发过程中的一项基础任务,它涉及到用户身份验证...

    Struts工作原理和机制 hibernate对持久化对象的操作

    在项目实践中,改造Struts项目为SSH(Spring、Struts、Hibernate)架构,可以引入Spring框架来实现依赖注入、AOP(面向切面编程)以及更高级的事务管理,提升系统的灵活性和可维护性。同时,Spring还提供了一个集成...

    框架笔试-tang.docx

    Struts 是一个基于 Java 语言的 Web 应用程序框架,实现一个动作需要继承Action类,并重写 execute() 方法。 4. AJAX 实现不刷新页面实现数据维护请设计一个 HTML 文档 AJAX(Asynchronous JavaScript and XML)...

    Myeclipse6.0中SSH框架搭建

    事务拦截器配置中定义了事务传播行为,其中 `"get*"` 方法使用 `PROPAGATION_REQUIRED,readOnly` 来确保该方法不会引发任何数据更改操作;其他所有方法使用 `PROPAGATION_REQUIRED` 表示如果当前没有事务,则开启一...

    SSH2整合详细示例

    在Java Web开发领域,Struts2、Hibernate与Spring(简称SSH)三个框架被广泛应用于构建企业级应用系统。本示例将详细介绍如何整合这三个框架,实现一个简单的增删改查(CRUD)应用。 #### 二、环境配置 1. **开发...

    SSH 学习的所有api帮助文档

    SSH框架,全称为Struts、Spring和Hibernate,是Java Web开发中的一个经典组合。这个框架集合为开发者提供了模型-视图-控制器(MVC)架构的支持,数据持久化的能力,以及依赖注入和面向切面编程的功能。下面我们将...

    Java框架面试题总结

    - 在`execute`方法中避免使用实例变量,只使用局部变量。 **10. Tiles框架是什么?** Tiles框架是一种用于构建网页布局的框架,它可以方便地创建复杂的网页布局。Tiles框架通常与Struts框架结合使用,用来定义页面...

    SSH整合cxf webservice实例

    首先,确保Struts2的配置文件中引入了CXF插件,然后在Action中通过Spring的@Autowired注解来注入CXF服务。 ```java @Autowired private HelloWorldService helloWorldService; public String execute() { ...

    ssh框架,简单代码例子

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了模型-视图-控制器(MVC)架构模式,用于构建高效、可维护的Web应用程序。下面我们将深入探讨SSH框架...

    学软件编程需必学的英语)第二学年Java方向

    2. **Restriction限制**:查询中使用的条件,用于过滤结果集。 3. **Order排序**:对查询结果进行排序。 4. **First第一**:返回查询结果中的第一条记录。 5. **Result结果**:查询操作的结果集。 6. **Projection...

Global site tag (gtag.js) - Google Analytics