<?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>
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配置会有些变化:
获取的方式和上述完全一样。
分享到:
相关推荐
理解 SpringApplication SpringApplication 是 Spring Boot 框架中一个核心组件,负责加载和配置应用程序的上下文环境。在本节中,我们将详细了解 SpringApplication 的基本使用、运行机制、自定义配置、API 调整等...
通过分析@SpringBootApplication 注解和 SpringApplication 类的 run 方法,我们可以了解 Spring Boot 应用程序的启动过程。 @SpringBootApplication 注解是一个组合注解,实际上它包含了多个注解,包括@...
在Java开发领域,Spring框架是不可或缺的一部分,而SpringApplication则是Spring Boot的核心组件,它使得创建一个独立的、生产级别的基于Spring的应用变得极其简单。本文将深入解析`SpringApplication`的源码,帮助...
SpringApplication是springboot驱动spring应用上下文的引导类,他的run()方法启动Spring应用,实质上是为Spring应用创建并初始化Spring上下文。
这个类通常会包含一个`main`方法,该方法使用`SpringApplication.run()`来启动Spring Boot应用。这个方法会初始化Spring框架,并自动扫描指定包(通常是包含`Application`类的包及其子包)内的组件,如控制器、服务...
Spring Boot是Spring的一个模块,它提供了快速开发、配置简单和独立部署等特点,而SpringApplication类是Spring Boot中用于引导和启动应用程序的核心类。在Spring Boot应用程序启动过程中,SpringApplication会通过...
增加上传文件到本地文件夹的方法,并且返回文件的绝对路径 // *========数据库日志=========*// SysOperLog operLog = new SysOperLog(); operLog.setStatus(BusinessStatus.SUCCESS.ordinal());...
Spring Boot 2.2.6 源码之旅三SpringApplication启动流程三初始化基本流程SpringApplication的setListeners设置监听器deduceMainApplicationClass对端主启动类rungetRunListeners获取SpringApplicationRunListener...
在 SpringApplication 运行之前,首先需要初始化 SpringApplication 实例。这个过程中,SpringApplication 会创建一个 BootstrapRegistryInitializer,用于注册简单对象直到 ApplicationContext 准备就绪为止。 ...
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 深入探索SpringApplication执行流程 SpringApplication的run...
要了解 Spring Boot 的启动原理,需要从 SpringApplication 的构造过程和 run 方法执行过程入手。 首先,SpringApplication 的构造过程。在 SpringApplication 的构造函数中,会调用一个 private 方法 initialize,...
传统文化与中国社会的帕累托最优.doc
RuoYi-Vue.7z,前后端分离项目,vue
外部化SpringApplication配置 ii. 63.2. 改变应用程序外部配置文件的位置 iii. 63.3. 使用'short'命令行参数 iv. 63.4. 使用YAML配置外部属性 v. 63.5. 设置生效的Spring profiles vi. 63.6. 根据环境改变配置 vii....
23.3. Customizing SpringApplication 23.4. Fluent Builder API 23.5. Application Events and Listeners 23.6. Web Environment 23.7. Accessing Application Arguments 23.8. Using the ApplicationRunner or ...
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework....
在这篇文章中,我们将深入探讨 Spring Boot 的启动原理,了解 @SpringBootApplication 注解和 SpringApplication.run 方法的作用。 一、@SpringBootApplication 注解 @SpringBootApplication 注解是 Spring Boot ...
在这个过程中,首先创建`SpringApplication`实例,这涉及到传递主源类(primarySources)和资源加载器(ResourceLoader)。`SpringApplication`构造函数初始化了必要的配置,并准备了启动流程。 一旦`...
Spring Boot 的启动过程涉及多个核心组件和技术细节,其中主要包括 `SpringApplication` 的 `run` 方法执行流程、应用上下文(ApplicationContext)的创建以及 Web 容器的启动等。下面将从这些关键点入手,详细解析...
@SpringBootApplicationpublic class HelloTomcatApplication {public static void main(String[] args) { SpringApplication.run(HelloTomcatApplication.class, args); }}7. 创建一个简单的 HTML 页面src/main/...