1. web.xml文件解读
lemon OA系统的核心配置文件都放在spring目录下的具有applicationContext的前缀文件。Classpath后有*,表示有多个配置文件。
我们可以看看,到底有哪些配置文件:
1.1 <context-param>元素
<context-param>元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。
param-name:设定上下文的参数名称。必须是唯一名称。
param-value:设定的参数名称的值。
下面来个科普贴,介绍一下servlet的API是如何加载<context-param>的,并且我们可以发现servlet在java层和jsp都提供了访问context-param的方法:
参考一:
参考二:
- <filter >标签
CompositeFilter过滤器的实现类是DelegatingFilterProxy。为什么filter用spring的自定义类呢,承接下面科普贴的一段话——spring的DelegatingFilterProxy提供了在 web.xml和application context之间的联系。
参考一:
1.3 <listener> 标签
ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息,也就是<context-param>元素中的内容。
而ProxyServletListener监听器则是为了监听context以及sesssion事件的改变。
1.4导向页面
401 (未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。
403 (禁止)服务器拒绝请求。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
第二章Spring主配置文件applicationContext.xml解读
Spring MVC的controller不扫描。
PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java Properties文件中去。在XML文件中用${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进行修改,而不用对xml配置文件进行修改。
在使用Spring框架做消息的多国化时,我们可以借助于MessageSourceAware接口,很轻松得搞定!看类的英文注释,如果spring的application context中存在Bean id为messageSource 的org.springframework.context.support.ResourceBundleMessageSource实例, messageSource会自动注入MessageSourceAware的实现类中。
spring security 3中UserDetailService接口的实现类UserDetailService,进行国际化的消息提示时,使用org.springframework.context.support.MessageSourceAccessor类,因为MessageSourceAccessor对org.springframework.context.MessageSource消息类做很好的封装,使用起来很方便。
第三章Spring MVC主配置文件applicationContext-springmvc.xml解读
只扫描controller
类型转换需要自定义了一个conversionService。
看来只是定义了一个日期转换。
Controller中的结果视图,一般jsp文件都是加上/content/前缀,.jsp后缀。
就是图片和css,js文件放到WEB-INFO目录外,就可以直接通过URL访问了。
第四章Spring Security主配置文件applicationContext-security.xml解读
静态资源,不做过滤。
auto-config包含了什么?
第五章Activiti主配置文件applicationContext-activiti.xml解读
数据库配置相关
在这个配置文件中,配置了很多的listener,命名根据activiti的api而来。
第六章 bridges主配置文件applicationContext-bridge.xml解读
用于生成系统各个中间件的bean。
第七章Cache主配置文件applicationContext-cache.xml解读
其实,就是用Map定义了泛型类。
第八章 Filter主配置文件applicationContext-filter.xml解读通过Spring的bean注入功能,与web.xml中的bean标签联合起来。
第九章 Hibernate主配置文件applicationContext-hibernate.xml解读
这里的hibernate其实只是配置了sessionfactory和transaction,都是spring的bean注入功能进行了结合。
第十章 inspektr主配置文件applicationContext- inspektr.xml解读
Inspektr就是一个很小的无侵入的审计日志jar包。它对于spring所托管的bean可以从如何几个方面去捕获记录系统运行时的信息:
The WHO: who performed an action being audited. 用户名字
The WHAT: what system resource being targeted by this audited action 被审记动作所涉及到的系统资源
The ACTION: what audited action is being performed 被执行的动作名字
The APPLICATION_CODE: an arbitrary string token identifying application running an audited action 服务器所运行的应用名字
The WHEN: a timestamp of an audited action 被审记动作发生的时间点
The CLIENT_IP:an IP address of the client invoking an audited action 客户端的ip
The SERVER_IP: an IP address of the server running an audited action 服务器的ip
第十一章 mail主配置文件applicationContext-mail.xml解读
第十二章 定时器主配置文件applicationContext-scheduler.xml解读
作者:木木