Spring 之 配置(Java之负基础实战)

1.程序加入Spring

<?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>
web.xml

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.字符编码过滤器 

    <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> 
filter

4.spring-servlet.xml 配置

4.1.创建spring-servlet.xml

  在WEB-INF下面创建spring-servlet.xml,

  这个名字和1.1中的红字部分是对应的,不能随便起名字。

4.2.配置

<?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里面的类了。

原文地址:https://www.cnblogs.com/SimonGao/p/4913055.html