`
longgangbai
  • 浏览: 7357937 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaWeb应用中获取Spring的ApplicationContext

阅读更多

   ApplicationContext是Spring的容器环境,通过ApplicationContext对象可以访问所有配置的bean.

    在Web开发开发中,常常需要从JSP或者Servlet或者Action中获取ApplicationContext对象,这时候,就无法使用new关键字通过查找配置文件来实例化ApplicationContext这个对象了。Spring通过WebApplicationContextUtils可以方便实现您的需求。下面看个例子:

    一、Spring2.5+Struts2环境下

    1、配置web.xml,通过这个配置来获取的。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
                     version="2.5">
        <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/applicationContext.xml</param-value>
        </context-param>

        <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>
        <listener>
                <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <servlet>
                <servlet-name>dispatcher</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
                <servlet-name>dispatcher</servlet-name>
                <url-pattern>*.form</url-pattern>
        </servlet-mapping>
</web-app>

    2、在JSP、Servlet、Action中获取ApplicationContext

<%@ page import="lavasoft.service.TestService" %>
<%@ page import="org.springframework.context.ApplicationContext" %>
<%@ page import="org.springframework.web.context.support.WebApplicationContextUtils" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body>
<%
//        ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
        ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(session.getServletContext());
        TestService service = (TestService) ctx.getBean("testService");
        String s = service.test();
        out.print(s);
%>

</body>
</html>

    二、Spring+JSP的环境

    在此环境下web.xml配置会有些变化:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
                     version="2.5">

        <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/applicationContext.xml</param-value>
        </context-param>
        <listener>
                <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <servlet>
                <servlet-name>dispatcher</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
                <servlet-name>dispatcher</servlet-name>
                <url-pattern>*.form</url-pattern>
        </servlet-mapping>
</web-app>

    获取的方式和上述完全一样。

分享到:
评论

相关推荐

    攻击JavaWeb应用.pdf

    - **Spring框架的applicationContext.xml**: 如果使用Spring框架,数据库连接信息可能配置在这个文件中。 - **Hibernate框架的hibernate.cfg.xml**: 如果使用Hibernate框架,数据库连接信息可能配置在这个文件中。 ...

    攻击JavaWeb应用[1-8]

    - **Spring框架**: 如果项目使用了Spring框架,数据库配置信息通常位于`applicationContext.xml`文件中。 - **Hibernate框架**: 对于使用Hibernate框架的项目,数据库配置信息通常位于`WebRoot\WEB-INF\hibernate....

    javaweb,struts,spring,ibatis,hibernate,ajax等API及帮助文档

    Spring的API包括了Bean工厂、ApplicationContext、AOP代理等,它们使得开发者能够轻松管理对象的生命周期,并进行灵活的依赖注入。Spring MVC则提供了DispatcherServlet、ModelAndView等类来处理HTTP请求和响应。 3...

    在web项目中引入spring

    标题“在web项目中引入Spring”意味着我们要讨论的是如何在基于Web的应用程序中集成和使用Spring框架。Spring是一个广泛使用的Java企业级应用开发框架,它提供了丰富的功能,包括依赖注入、面向切面编程、数据访问、...

    javaWeb项目整合开发的各个项目源码包括各种框架(struts+hibernate+spring)

    在这个JavaWeb项目中,Struts、Hibernate和Spring的整合通常称为SSH(Struts-Spring-Hibernate)集成。它们的集成方式有很多种,一种常见的做法是通过Spring来管理Struts的Action实例,同时Spring作为Hibernate的...

    JavaWeb开发中的配置示例

    本示例中,我们将深入探讨四个核心的技术:Javaweb、Hibernate、Spring和Struts,以及它们在实际项目中的配置应用。 首先,Javaweb是基于Java技术的Web应用程序开发平台,它提供了运行环境,使得开发者可以构建动态...

    JAVAWEB应用开发报告.pdf

    JavaWeb应用开发是构建基于Web的交互式应用程序的过程,它结合了Java编程语言、服务器端技术、数据库管理和前端用户界面设计。本报告将详细介绍一个JavaWeb应用的开发过程,包括其主要功能模块的设计、开发环境的...

    javaweb三大框架商城项目源码

    【JavaWeb三大框架】指的是Struts、Spring和Hibernate,它们是JavaWeb开发中常用的技术栈,用于构建高效、可维护的Web应用程序,尤其适合大型商城项目。Struts提供了MVC设计模式的实现,Spring作为全面的轻量级框架...

    Java EE 框架整合开发⼊⻔到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf

    这三个框架分别是Spring、Spring MVC和MyBatis,它们在企业级Java应用开发中扮演着重要的角色。Spring是一个广泛使用的开源Java平台,提供了全面的基础架构支持,用于开发Java应用;Spring MVC是Spring的一部分,它...

    Java Web项目加入Spring框架

    在Java Web开发中,Spring框架是一个非常重要的工具,它提供了全面的编程和配置模型,旨在简化应用程序的创建和维护。本篇文章将详细讲解如何将Spring框架整合到一个Java Web项目中,适合初学者入门。 首先,理解...

    javaweb实现中英文切换

    接下来,我们将在Spring的配置文件(如`applicationContext.xml`)中配置MessageSource,这是Spring处理多语言的关键组件。添加以下代码: ```xml &lt;bean id="messageSource" class="org.springframework.context....

    javaweb项目

    此外,可能还有Spring框架的配置文件,如`applicationContext.xml`,用于配置依赖注入。 6. **MVC架构**:在JavaWeb开发中,常常采用MVC(Model-View-Controller)设计模式,将业务逻辑、数据和用户界面分离。物流...

    javaweb主流框架整合开发struts+spring+hibernate例子

    - 接着,配置Spring的`applicationContext.xml`,声明Bean及其依赖关系,包括Action类和Hibernate的相关配置。 - 最后,配置Hibernate的`hibernate.cfg.xml`,指定数据库连接信息和实体类的映射。 6. **示例代码*...

    javaweb主流框架整合开发struts+spring例子

    在JavaWeb开发中,Struts和Spring是两个非常重要的框架,它们在企业级应用中有着广泛的应用。Struts是MVC(Model-View-Controller)架构模式的一个实现,主要用于控制应用程序的流程,而Spring则是一个全面的轻量级...

    Spring配置文件集合

    在本压缩包中,我们找到了一系列与Spring相关的配置文件,这些文件在构建JavaWeb应用时起着至关重要的作用。 1. `jdbc.properties`: 这个文件通常用于存储数据库连接的相关信息,如URL、用户名、密码等。它是Spring...

    javaweb电影管理系统

    首先,三层架构是JavaWeb开发中常用的设计模式,它将应用程序分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。表现层负责与用户交互,接收用户请求并展示结果;业务逻辑层处理业务规则和流程,是系统的...

    javaweb,SSM 学习

    在"javawebtest2"这个项目中,可能包含了搭建SSM环境所需的配置文件(如web.xml、applicationContext.xml、spring-mvc.xml等),示例代码(如Servlet、Controller、Service、DAO等层的Java类),以及JSP页面和数据库...

    javaWeb仓库管理系统(含数据库文件)

    SSH是Struts2、Spring和Hibernate三个框架的简称,是JavaWeb开发中的经典组合。Struts2作为MVC(模型-视图-控制器)架构的一部分,负责处理HTTP请求并转发到相应的业务逻辑;Spring框架则提供了依赖注入、事务管理...

    JavaWeb简易留言本

    【JavaWeb简易留言本】是一个基于JavaWeb技术开发的简单应用程序,主要利用Spring框架、JDBC(Java Database Connectivity)以及Ajax(Asynchronous JavaScript and XML)技术来实现。这个项目旨在提供一个基本的...

    Spring.3.x企业应用开发实战(完整版).part2

    3.5.2 ApplicationContext中Bean的生命周期 3.6 小结 第4章 在IoC容器中装配Bean 4.1 Spring配置概述 4.1.1 Spring容器高层视图 4.1.2 基于XML的配置 4.2 Bean基本配置 4.2.1 装配一个Bean 4.2.2 Bean的命名 4.3 ...

Global site tag (gtag.js) - Google Analytics