一、web.xml
1.1 配置文件的配置
这样可以将一些配置 写在其他配置文件里,而不是堆积在web.xml里面。如果配置成spring/spring-*.xml则会扫描spring文件夹下所有以spring-开头的配置文件。导入到web.xml中。
<!-- 配置Spring配置文件的地址,如果有业务的spring配置,则在后面再加上Spring配置的路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/core/spring/spring-*.xml
</param-value>
</context-param>
<!-- 配置Spring配置文件的地址 -->
1.2 过滤器配置(编码转换)
<!-- 过滤器,用来将请求的字符统一转化成 UTF-8 编码 -->
<filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!-- forceEncoding用来设置是否理会 request.getCharacterEncoding()方法,设置为true则强制覆盖之前的编码格式 -->
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!-- 过滤器,用来将请求的字符统一转化成 UTF-8 编码 -->
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 不进行任何过滤 -->
1.3 Spring 分发Servlet配置
配置了.do和.dox则会进入Spring MVC的DispatcherServlet查看是否存在相应 的映射,如果存在相应的映射,则进行后续处理。 ```
spring org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/config/core/spring/spring-servlet.xml 1 spring *.do
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.dox</url-pattern>
</servlet-mapping> ```
1.4 事务的配置
这里主要配置事务的管理。Service层的方法名只有以save、update、remove、do、load开头才能开启事务,从而安全地操作数据库。 ```
<!-- 事务拦截方法配置(通过方法名控制) -->
<bean id="transactionAttributeSource"
class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource">
<property name="properties">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="do*">PROPAGATION_REQUIRED</prop>
<prop key="load*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean> ```
1.5 Spring的Web加载器配置
<!-- 配置Spring的web加载器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
1.6 授权与安全过滤器配置
安全过滤器用于拦截请求,根据安全过滤器的实现来规范用户登录与否的操作行为的不同。若用户没有登录,则不能访问相应的页面以及相应的方法。(以.do为后缀的方法;以 .jsp .sac为结尾的页面)
<!-- 授权与认证过滤器 -->
<filter>
<filter-name>security</filter-name>
<filter-class>cn.com.hadon.security.SecurityFilter</filter-class>
</filter>
<!-- .do会被安全过滤器拦截。而.dox不会,未登陆用户也可以访问到controller里面的方法。 映射是Spring MVC做的。安全拦截是过滤器做的。 -->
<filter-mapping>
<filter-name>security</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>security</filter-name>
<url-pattern>*.sac</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>security</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
1.7 url转向配置
url转向配置可以在访问abc.jsp时 装饰城abc.sac??????? ```
forward cn.com.hadon.security.URLForwardServlet 0
<servlet-mapping>
<servlet-name>forward</servlet-name>
<url-pattern>*.sac</url-pattern>
</servlet-mapping>
<!-- URL 转向 --> ```
1.8 一些错误页面的配置
<!-- 错误页面 -->
<error-page>
<error-code>404</error-code>
<location>/error_404.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error_500.jsp</location>
</error-page>
<!-- 错误页面 -->