`

在Struts2获得WebApplicationContext的方法

阅读更多
1. Action实现implements ServletRequestAware,并实现setServletRequest()方法。
public void setServletRequest(HttpServletRequest request) {
		// TODO Auto-generated method stub
		this.request = request;
		
	}



以下是获得的方法:
A.
WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
   ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());//失败时抛出异常
   ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext()); //失败时返回null


B.
WebApplicationContext webApplicationContext = (WebApplicationContext)request.getSession().getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); 
分享到:
评论

相关推荐

    struts2+spring整合

    这样,Struts2在处理请求时会从Spring容器中获取Action实例。 2. **使用Struts2-Spring插件**: - 不需要在Struts2配置文件中显式指定Action类,而是利用插件自动扫描Spring容器中的Bean,找到标记为Action的类...

    spring在web.xml中和在struts中的不同配置.[收集].pdf

    两者的主要区别在于初始化时机和依赖管理的方式,Spring的WebApplicationContext通过`web.xml`监听器或过滤器进行全局初始化,而Struts2插件则在Struts2的生命周期内处理依赖注入。选择哪种方式取决于项目的具体需求...

    ssh(struts、spring、hibernate)集成

    2. **Action类**:创建一个`UserAction`类,继承自`ActionSupport`,并在`execute`方法中通过`getWebApplicationContext()`获取ApplicationContext,进一步通过`getBean()`方法得到`UserService`实例,然后调用...

    获得spring里注册Bean的四种方法

    这种方法常用于 Struts 框架中。我们可以继承 BaseDispatchAction 类,通过重写其方法来获取 Bean 对象。首先,我们需要在类中定义一个 WebApplicationContext 变量,以便获取应用程序的上下文环境变量。然后,我们...

    S2SH中JSP页面调用dao的方法

    在Struts2 + Spring + Hibernate(简称S2SH)框架中,数据访问层(DAO层)通常与视图层(如JSP页面)进行解耦设计。这种设计模式有助于提高系统的可维护性和扩展性。但在某些情况下,开发者可能需要在JSP页面直接...

    SpringMVC.docx

    SpringMVC基于方法级别的调用,而Struts2基于类级别,这意味着SpringMVC在处理并发请求时更有效率。 4. **设计思想**:Struts2的设计更接近面向对象编程的思想,而SpringMVC则是在Servlet的基础上进行了扩展。 5. ...

    图书馆文档分类统计系统

    在该系统中,Struts2主要负责处理HTTP请求,并将其转发给相应的Action进行业务逻辑处理。 - **StrutsPrepareAndExecuteFilter过滤器**:这个过滤器是Struts2的核心组件之一,它负责拦截所有的`.action`请求,并调用...

    Java Spring MVC面试题

    如何在方法里面得到Request或者Session,可以使用HttpServletRequest和HttpSession对象来实现。 如果想在拦截的方法里面得到从前台传入的参数,可以使用@RequestParam注解来实现。 如果前台有很多个参数传入,并且...

    ssh(structs,spring,hibernate)框架中的上传下载

     其中save(FileActionForm fileForm)方法,将封装在fileForm中的上传文件保存到数据库中,这里我们使用FileActionForm作为方法入参,FileActionForm是Web层的表单数据对象,它封装了提交表单的数据。将...

    Spring MVC面试题(2022最新版)

    怎样在方法里面得到Request,或者Session? 在控制器方法中,可以直接通过参数注入`HttpServletRequest`或`HttpSession`对象。 ```java public String handleRequest(HttpServletRequest request, HttpSession ...

    Spring与Web环境集成.pdf

    SpringMVC已经成为目前最主流的MVC框架之一,并且随着Spring3.0的发布,全面超越Struts2,成为最优秀的MVC框架。 SpringMVC的主要特点是使用注解来实现控制器的映射,例如: @Controller public class ...

    Spring MVC面试宝典1.pdf

    ##### 3.7 怎样在方法里面得到Request,或者Session? - **HttpServletRequest**:可以直接作为方法参数使用,SpringMVC会自动注入。 - **HttpSession**:同理,可以作为方法参数使用。 ##### 3.8 怎么在拦截的方法...

    25个经典的Spring面试问答含参考答案.docx

    依赖注入是IOC的具体实现,通过构造函数、setter方法或接口注入等方式,将依赖对象实例化并注入到需要它的对象中,使对象在运行时动态获得依赖。 【BeanFactory和ApplicationContext的区别】 BeanFactory是Spring ...

    bbossgroups 3.1培训教程.ppt

    2. **MVC**:整合Spring MVC和Struts 2的优点,创建了一种独特的MVC框架,支持数据绑定、页面跳转和异常处理。 3. **Persistent**:持久层框架,吸取iBatis优点,提供了SQL配置管理和动态SQL功能。 4. **Taglib**:...

    java近期笔记

    根据提供的文件信息,我们可以梳理出以下几个关键的知识点: ### 1. 获取网页尺寸与位置...这些知识点覆盖了网页信息获取、文件读写、zTree 的使用、Struts2 的 Session 操作以及 Spring 的 Bean 获取等方面的内容。

    中级程序员必备面试题.txt

    - **Struts2**: Struts2框架中,Action实例是线程安全的,因为框架保证每个请求都会获得一个新的Action实例。 - **Spring MVC**: 控制器(Controller)通常不是线程安全的,因为每个HTTP请求可能会共享相同的控制器...

    Spring之WEB模块配置详解

    在 Spring WEB 模块中,我们可以通过继承 ActionSupport 类来获取 Spring 的 BeanFactory,从而获得各种 Spring 容器内的各种资源。例如: ```java import org.springframework.web.struts.ActionSupport; public ...

Global site tag (gtag.js) - Google Analytics