前段时间在项目中遇到了这样一种问题:需要在JSP中访问后台由Spring管理的业务类代码,而这些业务类内部又涉及到了其它若干类的注入,如jdbc的service。
首先想到的是使用WebApplicationContext,即在jsp页面中以servletContext为参数,调用WebApplicationContextUtils工具的getWebApplicationContext或getRequiredWebApplicationContext方法:
<%
ApplicationContext ac =WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
ReportFunctions rf =(ReportFunctions)ac.getBean(ReportFunctions.class);
out.print(rf.devCountTableListAllZone());
%>
此方法需要在页面引用org.springframework.web.context.support.WebApplicationContextUtils和org.springframework.context.ApplicationContext两个类,当多个jsp页面有同样需求的时候,这种写法显得比较繁琐,且重用性不高,于是笔者想到了使用一个工具类的静态变量来保存applicationContext,这样就可以在所有的java代码中方便地引用它了!而在Spring中,得到并保存applicationContext的最便捷的方法莫过于实现ApplicationContextAware接口了,于是有了下面的工具类:
<script src="https://code.csdn.net/snippets/65498.js" type="text/javascript"></script>
于是,我们只需要(在jsp页面)中引用SpringContextHolder,就可以轻松获取Spring管理的bean了:
ReportFunctions reportF =SpringContextHolder.getBean(ReportFunctions.class);
不过话说回来,提醒大家要注意的是,虽然jsp页面可以很方便地引用后台的所有业务代码,jsp页面应该主要用于展示层,而不应该混入过多的控制层代码。
分享到:
相关推荐
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...
主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...
Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、...
完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...
完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...
这是在网上下载的例子,平时我们用的ioc都是在web中,本例实现在java application中实现依赖注入
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...
主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...
这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效提升应用开发的优雅性。本书是在《精通Spring 3.x――企业应用开发详解》的基础上,历时一年的重大调整改版而成的,延续...
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大...
主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+...
1.2使用java开发web应用 3 1.2.1面向对象的编程语言 3 1.2.2丰富的框架技术 4 1.2.3xml、css的应用 4 1.2.4使用javascript与ajax提升用户体验 7 1.3多种集成开发环境 9 1.3.1集成开发环境简介 9 1.3.2web应用...
完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...
此外,还包括了Spring事务管理和Spring Boot框架的介绍,帮助学习者了解如何在Spring应用程序中实现事务管理和利用Spring Boot简化项目开发。通过这组练习题,学习者可以全面掌握Spring框架的核心知识和常用技术,为...
这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效提升应用开发的优雅性。本书是在《精通Spring 3.x――企业应用开发详解》的基础上,历时一年的重大调整改版而成的,延续...
完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web...