- web.xml文件中引入 spring环境和 springmvc的配置文件
1 <!-- 使用 context-param 引入spring的配置文件 --> 2 <context-param> 3 <param-name>contextConfigLocation</param-name> 4 <param-value>classpath:spring/applicationContext.xml</param-value> 5 </context-param> 6 7 <!-- 启动Spring监听器 --> 8 <listener> 9 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 10 </listener>
1 <!-- 设置前端控制器 设置load-on-startup在web容器启动的时候加载 --> 2 <servlet> 3 <servlet-name>SpringMVC</servlet-name> 4 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 5 <init-param> 6 <param-name>contextConfigLocation</param-name> 7 <param-value>classpath:spring/spring-mvc.xml</param-value> 8 </init-param> 9 <load-on-startup>1</load-on-startup> 10 <async-supported>true</async-supported> 11 </servlet> 12 <!-- 设置前端控制器的映射url 为 / 需要在springmvc中放行静态资源 后面会设置 --> 13 <servlet-mapping> 14 <servlet-name>SpringMVC</servlet-name> 15 <!-- 此处可以可以配置成 *.do ,对应struts的后缀习惯 --> 16 <url-pattern>/</url-pattern> 17 </servlet-mapping> 18 19 <!-- 设置默认登录页 --> 20 <welcome-file-list> 21 <welcome-file>/index.jsp</welcome-file> 22 </welcome-file-list>
- 在 spring 的配置文件中引入 properties文件,开启注解扫描,import 其他配置文件。
<!-- 引入属性文件 放在最开头,在使用spring之前就引入,里面的变量才能被引用--> <context:property-placeholder location="classpath:config.properties"/> <!-- 开启spring直接扫描 将@Component等注释的组件 加入到IOC容器中 --> <context:component-scan base-package="com.test.service,com.test.mapper"/> <!-- 使用import 可以直接将其他的配置文件引入 分开便于管理 --> <import resource="applicationContext-dataSource.xml" />
3. springmvc 中扫描 controller 的注解,放行静态资源,配置注解驱动(处理器映射器和处理器适配器),配置视图解析器,配置文件上传
1 <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --> 2 <context:component-scan base-package="com.test.controller"/> 3 4 <!-- 配置注解驱动 自动配置了处理器映射器和处理器适配器--> 5 <mvc:annotation-driven/> 6 7 <!-- 使用mvc:resources 标签放行静态资源 location 是文件实际存放路径 mapping 是 url中的路径,符合mapping的url 不会被前端控制器处理 --> 8 <mvc:resources mapping="/css/**" location="/WEB-INF/statics/css/"/> 9 <mvc:resources mapping="/js/**" location="/WEB-INF/statics/js/"/> 10 <mvc:resources mapping="/images/**" location="/WEB-INF/statics/images/"/> 11 12 13 <!-- 配置视图解析器 --> 14 <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 15 <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 16 <property name="prefix" value="/WEB-INF/view/"/> 17 <property name="suffix" value=".jsp"/> 18 </bean> 19 20 <!-- 配置springmvc提供的文件上传功能 --> 21 <!-- 文件上传 start 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --> 22 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 23 <!-- 默认编码 --> 24 <property name="defaultEncoding" value="UTF-8"/> 25 <!-- 文件大小最大值 上传文件大小限制为10M,10*1024*1024 --> 26 <property name="maxUploadSize" value="10485760"/> 27 <!-- 内存中的最大值 --> 28 <property name="maxInMemorySize" value="4096"/> 29 </bean> 30 <!--文件上传 end-->
4. 配置事务管理的话使用到的是spring提供的aop功能
将配置好的连接池交给 transactionManager ,在配置相应的 transactionAdvice ;advice + pointcut 实现事务管理。
5. 记录web.xml 中关于 <context-param> 配置的作用
启动一个web项目的时候,servlet容器在web.xml中获取<listener>和<cpontext-param>,然后创建一个ServletContext(上下文),这个web项目将共享这个上下文。 容器会将context-param 转化为键值对,然后交给ServletContext,然后创建listener中的类的实例。 这一系列的动作都是在web项目完全启动完成以前执行的。