自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Java Web應(yīng)用中獲取Spring的ApplicationContext

開(kāi)發(fā) 后端
ApplicationContext是Spring的容器環(huán)境,通過(guò)ApplicationContext對(duì)象可以訪問(wèn)所有配置的bean。本文中將講述Java Web應(yīng)用中獲取Spring的ApplicationContext。

在Web開(kāi)發(fā)開(kāi)發(fā)中,常常需要從JSP或者Servlet或者Action中獲取ApplicationContext對(duì)象,這時(shí)候,就無(wú)法使用new關(guān)鍵字通過(guò)查找配置文件來(lái)實(shí)例化ApplicationContext這個(gè)對(duì)象了。Spring通過(guò)WebApplicationContextUtils可以方便實(shí)現(xiàn)您的需求。下面看個(gè)例子:

Spring2.5+Struts2環(huán)境下

1. 配置web.xml,通過(guò)這個(gè)配置來(lái)獲取的。

<?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">
   ?。糲ontext-param>
       ?。紁aram-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
   ?。?context-param>
   ?。糵ilter>
       ?。糵ilter-name>struts2</filter-name>
       ?。糵ilter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   ?。?filter>
    <filter-mapping>
       ?。糵ilter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
   ?。?filter-mapping>
   ?。糽istener>
       ?。糽istener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   ?。?listener>
   ?。約ervlet>
       ?。約ervlet-name>dispatcher</servlet-name>
       ?。約ervlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       ?。糽oad-on-startup>1</load-on-startup>
    </servlet>
   ?。約ervlet-mapping>
        <servlet-name>dispatcher</servlet-name>
       ?。紆rl-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的環(huán)境

在此環(huán)境下web.xml配置會(huì)有些變化:

<?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">
   ?。糲ontext-param>
       ?。紁aram-name>contextConfigLocation</param-name>
       ?。紁aram-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
   ?。糽istener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   ?。?listener>
    <servlet>
       ?。約ervlet-name>dispatcher</servlet-name>
       ?。約ervlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       ?。糽oad-on-startup>1</load-on-startup>
   ?。?servlet>
   ?。約ervlet-mapping>
       ?。約ervlet-name>dispatcher</servlet-name>
       ?。紆rl-pattern>*.form</url-pattern>
   ?。?servlet-mapping>
</web-app>

獲取的方式和上述完全一樣。

【編輯推薦】

  1. Spring中XML配置的12個(gè)技巧
  2. Spring MVC框架的高級(jí)配置
  3. Spring中的事務(wù)傳播屬性詳解
責(zé)任編輯:楊鵬飛 來(lái)源: 51CTO博客
相關(guān)推薦

2016-01-25 12:25:58

UbuntuFedoraGitLab

2010-06-08 12:54:16

UML技術(shù)

2023-03-01 13:54:53

Springpostion?繼承

2021-08-30 09:56:59

Web安全攻擊Java

2020-03-31 21:50:41

JavaScript前端技術(shù)

2022-07-15 09:01:15

React對(duì)象編程

2017-12-21 18:41:46

Java內(nèi)存泄漏代碼

2011-12-30 16:30:39

Java

2021-03-28 07:47:01

JavaWeb項(xiàng)目windows

2022-09-21 07:57:56

面部識(shí)別身份認(rèn)證。Web

2022-09-13 08:32:43

Ubuntu

2011-08-22 16:26:25

IOS開(kāi)發(fā)Sqlite數(shù)據(jù)庫(kù)

2015-08-03 16:01:49

Ubuntu應(yīng)用

2022-07-21 09:31:58

Actuator密碼框架

2022-11-08 11:39:34

Web瀏覽器深色模式

2020-05-25 07:00:00

雙因素認(rèn)證身份認(rèn)證密碼

2009-06-17 17:20:14

BeanFactorySpring

2009-06-30 15:32:00

入侵檢測(cè)Java Web

2022-06-28 14:57:09

FormatterSpring

2023-10-08 15:23:09

側(cè)獲取屏幕DPI鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)