第一章 web.xml配置文件解读

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的方法:

OA系统配置文件_配置文件参考一:

OA系统配置文件_properties文件_02参考二:

 

 

 

 

 

 

 

 

 

 

 

  1. <filter >标签

OA系统配置文件_xml_03

CompositeFilter过滤器的实现类是DelegatingFilterProxy。为什么filter用spring的自定义类呢,承接下面科普贴的一段话——spring的DelegatingFilterProxy提供了在 web.xml和application context之间的联系。

 

OA系统配置文件_properties文件_04

 

参考一:

OA系统配置文件_properties文件_05

1.3 <listener> 标签

OA系统配置文件_服务器_06

 

ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息,也就是<context-param>元素中的内容。

而ProxyServletListener监听器则是为了监听context以及sesssion事件的改变。

OA系统配置文件_properties文件_07

1.4导向页面

OA系统配置文件_服务器_08

 

401   (未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。

403   (禁止)服务器拒绝请求。

500   (服务器内部错误)  服务器遇到错误,无法完成请求。 

 

第二章Spring主配置文件applicationContext.xml解读

 

OA系统配置文件_properties文件_09

Spring MVC的controller不扫描。

 

OA系统配置文件_properties文件_10

OA系统配置文件_properties文件_11

 

OA系统配置文件_spring_12

PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java Properties文件中去。在XML文件中用${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进行修改,而不用对xml配置文件进行修改。

 

OA系统配置文件_spring_13

在使用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解读

OA系统配置文件_spring_14

只扫描controller

 

类型转换需要自定义了一个conversionService。

OA系统配置文件_配置文件_15

OA系统配置文件_服务器_16

看来只是定义了一个日期转换。

 

OA系统配置文件_spring_17

Controller中的结果视图,一般jsp文件都是加上/content/前缀,.jsp后缀。

 

OA系统配置文件_服务器_18

就是图片和css,js文件放到WEB-INFO目录外,就可以直接通过URL访问了。

 

OA系统配置文件_xml_19

 

 

 

第四章Spring Security主配置文件applicationContext-security.xml解读

 

OA系统配置文件_spring_20

静态资源,不做过滤。

 

OA系统配置文件_服务器_21

auto-config包含了什么?

OA系统配置文件_spring_22

 

OA系统配置文件_spring_23

OA系统配置文件_xml_24

 

 

第五章Activiti主配置文件applicationContext-activiti.xml解读

 

OA系统配置文件_服务器_25

OA系统配置文件_spring_26

数据库配置相关

 

 

在这个配置文件中,配置了很多的listener,命名根据activiti的api而来。

OA系统配置文件_服务器_27

OA系统配置文件_配置文件_28

 

 

OA系统配置文件_配置文件_29

 

OA系统配置文件_properties文件_30

 

 

第六章 bridges主配置文件applicationContext-bridge.xml解读

 

OA系统配置文件_xml_31

用于生成系统各个中间件的bean。

 

第七章Cache主配置文件applicationContext-cache.xml解读

OA系统配置文件_properties文件_32

其实,就是用Map定义了泛型类。OA系统配置文件_xml_33

第八章 Filter主配置文件applicationContext-filter.xml解读

OA系统配置文件_配置文件_34

通过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

 

OA系统配置文件_配置文件_35

第十一章 mail主配置文件applicationContext-mail.xml解读

 

OA系统配置文件_服务器_36

第十二章 定时器主配置文件applicationContext-scheduler.xml解读

OA系统配置文件_xml_37

 

 

 

 



作者:木木