Spring MVC 的xml一些配置

1.能夠自動加載註解驅動,經過註解找到對應Controllerhtml

    <!-- spring MVC 註解驅動 -->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!-- 配置自動掃描包 -->
    <context:component-scan base-package="com.cc8w.Controller"></context:component-scan>
 
     <!-- 配置視圖解析器 -->
    <bean  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/view/"></property>  
        <property name="suffix" value=".jsp"></property>  
    </bean> 
package com.cc8w.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/HelloWorld")
public class HelloWorld {

    @RequestMapping("/hi.do")
    public String hi(String names,Model model)
    {
        System.out.println("hi.dodo");
        model.addAttribute("hi", "hi123456");
        return "hi";
    }
}

顯示結果正確.java

2.配置HandlerMapping,根據beanName找到對應Controllerweb

 web.xml配置spring

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Spring-web02</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!-- The front controller of this Spring Web application, responsible for handling all application requests -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Map all requests to the DispatcherServlet for handling -->
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

applicationContext.xmlspring-mvc

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">

    <!-- 配置HandlerMapping 根據beanname找到對應Controller -->
     <bean class="org.springframework.web.servlet.mvc.support.ControllerBeanNameHandlerMapping"></bean>
     
     <!--配置beanname找到對應的Controller -->
     <bean name = "/dogcontrollerdog" class = "com.cc8w.Controller.Dog"></bean>
     
     <!-- 配置視圖解析器 -->
    <bean  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/view/"></property>  
        <property name="suffix" value=".jsp"></property>  
    </bean> 
    

</beans>

測試類(這裏必定要繼承org.springframework.web.servlet.mvc.AbstractController接口)mvc

package com.cc8w.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class Dog extends AbstractController {
     public Dog()
     {
        System.out.println("13213"); 
     }

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
        // TODO Auto-generated method stub
        System.out.println("456--訪問到了---"); 
        
        ModelAndView mav = new ModelAndView("dog");
        mav.addObject("hi", "467 th");
        return mav;
    }
}

模版目錄和結果app

3.配置HandlerMapping,根據URL找到對應Controller(主要是applicationContext.xml或<bean-name>-Servlet.xml的區別)jsp

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">


    <!-- 配置HandlerMapping 根據簡單URL找到對應Controller -->
     <bean class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
         <property name="mappings">
             <props>
                 <prop key="/dogcontroller">dog</prop>
             </props>
         </property>
     </bean>
     <!--bean類 -->
     <bean id = "dog"  class = "com.cc8w.Controller.Dog"></bean>
 
     
     <!-- 配置視圖解析器 -->
    <bean  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/view/"></property>  
        <property name="suffix" value=".jsp"></property>  
    </bean> 
    

</beans>

上面的類,這個spring MVC配置文件,能夠找到控制器,就不截 結果了.ide

4.配置HandlerMapping,經過控制器類名訪問Controller,訪問時類名首字母小寫 小寫測試

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">


    <!-- 配置HandlerMapping 經過控制器類名訪問Controller,訪問時類名首字母小寫 -->
    <bean class = "org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>
     
     <!--bean類 -->
     <bean  class = "com.cc8w.Controller.Dog"></bean>
 
     
     <!-- 配置視圖解析器 -->
    <bean  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/view/"></property>  
        <property name="suffix" value=".jsp"></property>  
    </bean> 
    

</beans>

 http://localhost:8080/Spring-web02/dog 這樣訪問...

相關文章
相關標籤/搜索