Spring 之 配置(Java之负基础实战)
1.程序加入Spring
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>spring</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <filter> <filter-name>encodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> </web-app>
1.1.操作
打开web.xml: 添加一个servlet
<servlet> <servlet-name>spring</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet>
Spring 的配置文件默认是指向WEB-INF下 “<servlet-name>”名-servlet.xml
1.2.解释
load-on-startup元素标记容器是否在启动的时候就加载这个servlet
- 它的值必须是一个整数,表示servlet应该被载入的顺序
- 当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
- 当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
- 正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
- 当值相同时,容器就会自己选择顺序来加载。
所以,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5代表的是优先级,而非启动延迟时间。
2.设置url拦截
设置spring url拦截:
<servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
表示url是.do为后缀的请求都必须经过spring的控制。
3.字符编码过滤器
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<filter> <filter-name>encodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>
4.spring-servlet.xml 配置
4.1.创建spring-servlet.xml
在WEB-INF下面创建spring-servlet.xml,
这个名字和1.1中的红字部分是对应的,不能随便起名字。
4.2.配置
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/index.do">IndexAction</prop> </props> </property> </bean> <bean id="IndexAction" class="com.myweb.IndexAction"> <property name="view"> <value>index</value> </property> </bean> </beans>
里面包含了MVC的配置,当然,现在还没有M什么事,下面介绍VC及它们之间的链接配置。
4.2.1.url映射配置
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean>
这里表示指定控制器页面转向的目录及文件后缀。
这些.jsp就是view
4.2.2.页面目录配置
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/index.do">IndexAction</prop> </props> </property> </bean>
SimpleUrlHandlerMapping 提供了最简单的URL 映射,通过Properties 将URL 和
Controller 对应起来。
<prop key="/index.do">IndexAction</prop> 表示index.do要访问IndexAction对应的class,如4.2.4所示。
IndexAction需要在src里面有对应的类文件。
4.2.3.控制器配置
4.2.3.1.配置文档
<bean id="IndexAction" class="com.myweb.IndexAction"> <property name="view"> <value>index</value> </property> </bean>
这里是Controller
<property name="view"> <value>index</value> </property>
表示名字为index的视图,也就是index.jsp。
com.myweb代表一个包,也是在src里面,见图4.2.2。
property name = "view",是指com.myweb.IndexAction里面的变量 view
5.导入jar,进行MVC编程
按照图中的顺序导入lib下面的所有jar包,然后,就可以import里面的类了。