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

JSP-获取spring 的容器ApplicationContext

 
阅读更多

http://hw1287789687.iteye.com/blog/1943433

 

Jsp 中如何获取spring的bean呢?

方式一:通过上下文

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%@page import="org.springframework.context.ApplicationContext"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<%
ServletContext context = request.getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);
Object <span style="font-size: 1em; line-height: 1.5;">supermarketDao</span><span style="font-size: 1em; line-height: 1.5;">= ctx.getBean("supermarketDao");</span>
System.out.println("jsp:"+<span style="font-size: 1em; line-height: 1.5;">supermarketDao</span><span style="font-size: 1em; line-height: 1.5;">);</span>
%>
</body>
</html>

 

 问题:JSP页面中获取的bean与spring 容器中的bean是同一个吗?

 

是的

 

方式二:通过类路径加载bean文件,得到bean工厂

<?xml version="1.0" encoding="UTF-8" ?>
<%@page import="org.springframework.beans.factory.BeanFactory"%>
<%@page import="org.springframework.context.support.ClassPathXmlApplicationContext"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%@page import="org.springframework.context.ApplicationContext"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<%
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("beans.xml","user_beans.xml","goods_beans.xml","supermarket_beans.xml","aop.xml","upload_beans.xml"); 
BeanFactory factory = (BeanFactory) appContext; 
Object obj=factory.getBean("supermarketDao");
System.out.println("jsp2:"+obj);

%>
</body>
</html>

 

  问题:JSP页面中获取的bean与spring 容器中的bean是同一个吗?

 

是的

 

总结:(1)通过WebApplicationContextUtils 获取bean是直接从spring容器中拿的;

(2)通过ClassPathXmlApplicationContext,实际上又解析了一遍xml,即又创建了一个新的spring容器,所有获取的bean与web上下文中是不同的。

分享到:
评论

相关推荐

    JSP 获取spring容器中bean的两种方法总结

    下面将详细介绍在JSP页面中获取Spring容器中bean的两种方法。 ### 方法一:在Web应用中使用 在Web应用中,一般推荐使用Spring提供的WebApplicationContextUtils工具类来获取ApplicationContext。这种方法主要适用...

    struts2-hibernate3-spring整合需要的全部jar包

    2. 配置Spring的applicationContext.xml,声明Bean、数据源、事务管理器等。 3. 配置web.xml,设置过滤器和监听器,使Spring和Struts2协同工作。 4. 在Action类上添加注解或配置,与Spring的Bean管理相结合。 5. ...

    Maven-Spring-Spring-MVC-MyBatis-MySQL

    在SSM整合中,Spring作为核心容器,管理着其他组件,如Spring MVC和MyBatis的bean实例。 3. **Spring MVC**:Spring MVC是Spring框架的一个模块,专门用于处理Web层的请求和响应。它提供了模型-视图-控制器(MVC)...

    简单-利用Spring-MVC框架开发项目实例

    3. **配置Spring-MVC**:在`web.xml`中配置`DispatcherServlet`,并在`applicationContext.xml`中配置Spring上下文。 4. **创建Controller**:编写一个带有`@Controller`注解的Java类,用`@RequestMapping`注解的...

    hibernate3.3 struts-2.3.20 spring3.2.3 整合框架

    在整合SSH时,通常会使用Spring来管理Struts2的Action和Hibernate的SessionFactory,通过Spring的ApplicationContext配置文件来配置这些组件。这样,当一个Action需要执行数据库操作时,可以通过Spring自动注入...

    Spring&MVC 基础所需jar包.rar

    依赖注入使得开发者能够将对象的创建和管理交由Spring容器处理,减少代码间的耦合。面向切面编程则允许在不修改源代码的情况下,对程序进行功能增强,如日志、事务管理等。 2. **Spring MVC**:Spring MVC是Spring...

    spring+Hibernate+jsp的简单例子

    - 配置Spring环境,包括设置Spring的bean定义文件(如applicationContext.xml),定义数据源、事务管理器等。 - 配置Hibernate,创建hibernate.cfg.xml文件来指定数据库连接,以及实体类对应的hbm.xml映射文件。 - ...

    JSP 获取Spring 注入对象示例

    1. 引入必要的Spring库:在JSP页面顶部,我们需要导入Spring提供的两个关键类`WebApplicationContextUtils`和`ApplicationContext`,以便能够获取Spring容器。 ```jsp &lt;%@ page import="org.springframework.web....

    Spring-Reference_zh_CN(Spring中文参考手册)

    5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 5.4.2.1. 注册用户自定义的PropertyEditor 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 ...

    Spring-整合-Struts2

    如果该Action被声明在Spring容器中,则Struts2会从Spring容器中获取Action实例。 - **Spring 插件的作用**:Spring插件作为桥梁,允许Struts2直接访问Spring容器中的Bean,从而实现对Action的依赖注入。 - **Struts2...

    基于Java-Spring+Spring-MVC+MyBatis+Mysql .zip

    - `src/main/resources`: 配置文件,如Spring的`applicationContext.xml`和`spring-mvc.xml`,MyBatis的`mybatis-config.xml`以及Mapper接口的XML映射文件。 - `src/main/webapp`: Web应用的资源,如静态文件(HTML...

    MyBatis3整合Spring3,SpringMVC

    - 设置 Spring 容器加载配置文件路径,通常使用 `applicationContext-*.xml` 这样的通配符来匹配多个配置文件。 - 配置 Spring MVC 的核心 Servlet `DispatcherServlet`,并指定其配置文件 `/WEB-INF/dispatcher.xml...

    Mybatis-Spring

    1. **依赖注入**:Spring框架的核心特性之一,允许我们通过Spring容器来管理Mybatis的SqlSessionFactory和SqlSessionTemplate,这样可以避免手动创建和管理这些对象,提高了代码的可测试性和可维护性。 2. **Mapper...

    struts2-spring-plus

    2. 配置Spring的ApplicationContext,定义需要托管的Action类及其依赖。 3. 在Struts2的配置文件中启用Spring插件,并指定Spring配置文件的位置。 4. 在Action类上添加必要的注解,以便Spring管理和注入。 综上所述...

    spring-web和spring-webmvc_4.2.4

    5. **ContextLoaderListener**:这是Spring Web应用的一个启动监听器,它会创建一个全局的ApplicationContext,用来管理所有Web应用范围内的bean。 接下来,我们关注`springs-webmvc`模块,它是Spring MVC的核心,...

    spring官方完整jar包-4.1.6版

    1. **控制反转(IoC)**:IoC是Spring的核心特性,它将对象的创建和管理权交给了Spring容器。开发者只需要定义对象的配置,而无需关注如何实例化和依赖关系的建立。这使得代码更加灵活,易于测试和维护。 2. **依赖...

    专题资料(2021-2022年)Java项目教学第一学期SSM框架讲义1Spring的基本应用.docx

    - IOC(控制反转)将对象的创建和管理从代码中分离出来,由 Spring 容器负责,使得代码更易于测试和解耦。 - Spring 作为一站式框架,提供了诸如 SpringMVC(Web 层)、Service 层的依赖注入以及 DAO 层的 ...

    第27讲--Struts与Spring集成方案1(Struts集成Spring)

    Spring插件(`struts2-spring-plugin-x.x.x.jar`)允许Struts2从Spring容器中获取Action实例。添加以下配置片段: ```xml &lt;constant name="struts.objectFactory" value="org.springframework.struts2....

    MLDN_J2EE框架_笔记--精华---(包括jsp struts hibernate spring).rar

    Spring的核心容器包括Bean工厂和ApplicationContext,负责对象的创建和管理。Spring MVC是Spring框架的一部分,提供了一个用于构建Web应用的MVC架构。Spring还包含数据访问/集成(DAO)、事务管理、JMS、电子邮件、...

    J2EE-Struts2-Spring-Hibernate整合的例子:添加

    这样,Struts2的Action可以通过Spring容器来创建和管理。 3. 集成Hibernate:在Spring配置文件(如`applicationContext.xml`)中,配置Hibernate的SessionFactory,包括数据源、实体扫描路径和Hibernate属性。此外...

Global site tag (gtag.js) - Google Analytics