Spring Web MVC 随笔
1.ContextLoaderListener
对于使用Spring的Web应用,无需手动创建Spring容器,而是通过配置文件声明式地创建Spring容器。可以直接在web.xml文件中配置创建Spring容器。
Spring提供了一个ContextLoaderListener,该监听器类实现了ServletContextListener接口,它会在创建时自动查找WEB-INF/下的applicationContext.xml文件。因此,如果只有一个配置文件,且文件名为applicationContext.xml,则只需在web.xml文件中增加如下配置片段即可。
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
如果有多个配置文件需要载入,则考虑使用<context-param…/>元素来确定配置文件的文件名。
ContextLoaderListener加载时会查找名为contextConfigLocation的初始化参数,如下:
<!--指定多个配置文件--> <context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-context.xml,/WEB-INF/applicationContext.xml</param-value> </context-param> <!--使用ContextLoaderListener初始化Spring容器--> <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
如果没有使用contextConfigLocation指定配置文件,则Spring会自动查找WEB-INF/下的applicationContext.xml文件。
如果有contextConfigLocation,则使用该参数确定的配置文件。
如果无法找到合适的配置文件,Spring将无法正常初始化。
2.可能遇到的异常
在配置Spring MVC时,可能会遇到这样的错误:
org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessioorg.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current threadnContext.java:134)
那么在web.xml文件中添加如下配置即可:
<filter><filter-name>openSessionInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping><filter-name>openSessionInViewFilter</filter-name><url-pattern>/*</url-pattern> </filter-mapping>
OpenSessionInViewFilter的主要功能是用来把一个Hibernate Session和一次完整的请求过程对应的线程相绑定。
Open Session In View在request把session绑定到当前thread期间一直保持hibernate session在open状态,使session在request的整个期间都可以使用。当View 层逻辑完成后,才会通过Filter的doFilter方法或Interceptor的postHandle方法自动关闭session。
转载于:https://www.cnblogs.com/weilunhui/p/5230037.html
Spring Web MVC 随笔相关推荐
- Spring Web MVC(一)
概述 Spring Web MVC框架的特点 五大核心组件 编程步骤 五大核心组件 DispatcherServlet前端控制器 WebApplicationContext中特殊的bean 处理过程 ...
- 【Spring Web MVC】Spring Web MVC 注解开发环境搭建
为什么80%的码农都做不了架构师?>>> 1.创建maven项目 创建一个名为:springwebmvc-first的maven项目 2.添加依赖包 要使用springWebM ...
- Spring.Web.Mvc 注入(控制器属性注入)
1.web.config配置 <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.N ...
- Spring Web MVC是什么
2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职 ...
- 初试 spring web mvc
作为一名code需要了解更多的知识,编程方面的东西太多了,是个逐渐积累的过程.最近学习一下spring web mvc,写下我个人的一些经验. 1.准备jar包.spring mvc 已经到了版本4, ...
- Spring Boot——2分钟构建spring web mvc REST风格HelloWorld
Spring Boot--2分钟构建spring web mvc REST风格HelloWorld 之前有一篇<5分钟构建spring web mvc REST风格HelloWorld>介 ...
- Spring Web MVC (Spring MVC) 的相关例题及解析
MVC.web MVC.Spring MVC 和 Spring Web MVC的联系与区别: 1.MVC 是一种架构分层模式 2.web MVC 是指在 web 领域下实践的 MVC,因为 web 领 ...
- Spring Web MVC详解
Spring Web MVC详解 原创 2016年03月23日 10:55:57 标签: 421 编辑 删除 2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java ...
- Spring系列(六) Spring Web MVC 应用构建分析
DispatcherServlet DispatcherServlet 是Spring MVC的前端控制器名称, 用户的请求到达这里进行集中处理, 在Spring MVC中, 它的作用是为不同请求匹配 ...
最新文章
- rtsp流+vue进行视频播放(海康威视、大华摄像头)
- 聚类分析和主成分分析
- python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)...
- html tfoot标签,HTML tfoot 标签
- 9.Python基础 面向对象的进一步拓展
- Nacos源码服务发现
- 物联网卡加持智能电网,发展更具优势
- 加密算法—MD5、RSA、DES
- 【动态规划】简单背包问题II
- 在Windows环境下用Editplus打造一个Python编辑调试环境
- linux脚本解密,给shell脚本加密和解密的shell脚本
- mysql 数据库备份与恢复_mysql 数据库备份与还原
- java jnlp_Java Web Start 与jnlp结合实例讲解
- Android系统基础(03) Android系统源码下载
- python识别二维码
- LeNet识别眼疾iChallenge-PM
- unix服务器日志文件,UNIX 系统日志
- 未来的无盘网吧是什么样子?
- 什么是数字化?为什么需要数字化?
- 新政策后Jira还好用吗?国内类似Jira的工具价格对比!
热门文章
- 【机器视觉】 endif算子
- 【Tiny4412】烧写最小文件系统到EMMC
- 【Linux系统编程】文件描述符的复制dup()和dup2()
- php 安装 phpunit,phpunit的安装
- idea项目没法继承httpservlet_intelj idea社区版开发web项目
- GetLastError函数使用及返回代码对照
- 每天一道LeetCode-----n皇后问题
- linux网络编程-----几种服务器模型及io多路复用函数
- mysql 1280_技术分享 | MySQL 一次奇怪的故障分析
- 第五章 PX4-GPS解析