首页 > 其他 > 详细

SSH 三大框架整合

时间:2019-05-29 23:14:50      阅读:136      评论:0      收藏:0      [点我收藏+]

Spring整合web项目

在Servlet当中直接加载配置文件,获取对象

技术分享图片

存在问题

  • 每次请求都会创建一个Spring的工厂,这样浪费服务器资源,应该一个项目只有一个Spring的工厂。
  • 在服务器启动的时候,创建一个Spring的工厂。
  • 创建完工厂,将这个工厂类保存到ServletContext中。
  • 每次使用的时候都从ServletContext中获取。

解决方案

使用spring核心监听器ContextLoaderListener

引入jar包 spring-web.jar

配置监听器:

<!-- Spring的核心监听器 -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- 加载Spring的配置文件的路径的,默认加载的/WEB-INF/applicationContext.xml -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>

直接在Action当中获取工厂

@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.service(req, resp);
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        // 获取工厂  程序启动时,保存到ServletContext中
        ServletContext servletContext = this.getServletContext();
        WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
        // 获取对象
        UserService userService = (UserService)applicationContext.getBean("userService");
        userService.save();
    }
}
public class UserService {
    public void save(){
        System.out.println("-save-");
    }
}

applicationContext.xml 中配置:

<bean id="userService" class="com.study.ssh.demo2.UserService"/>

SSH整合

技术分享图片

技术分享图片

SSH 三大框架整合

原文:https://www.cnblogs.com/xzh0717/p/10946644.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!