1. 程式人生 > >springMvc的簡單實現

springMvc的簡單實現

1.1在pom.xml中引入springMvc和servlet3.0的依賴包

  1. <dependencies>  
  2.       <!-- springmvc依賴 -->  
  3.       <dependency>  
  4.         <groupId>org.springframework</groupId>  
  5.         <artifactId>spring-webmvc</artifactId>  
  6.         <version>4.3.13.RELEASE</version>
      
  7.       </dependency>  
  8.       <dependency>  
  9.         <groupId>javax.servlet</groupId>  
  10.         <artifactId>servlet-api</artifactId>  
  11.         <version>3.0-alpha-1</version>  
  12.          <!--防止衝突   tomcat中的servlet衝突  -->  
  13.         <scope>
    provided</scope>  
  14.       </dependency>  
  15.    </dependencies>  
    1. 在web.xml中配置springMvc的核心前端控制器  DispatcherServlet
  1. <!-- springMvc的核心前端控制器DispatcherServlet -->  
  2.   <servlet>  
  3.      <servlet-name>springMvc</servlet-name>  
  4.      <servlet-class>org.springframework.web.servlet.DispatcherServlet
    </servlet-class>  
  5.          <init-param>  
  6.           <!-- 必須指定springmvc的初始化路徑  引數為contextConfigLocation  -->  
  7.           <!-- 可以自定義servlet.xml配置檔案的位置和名稱,預設為WEB-INF目錄下,名稱為[<servlet-name>]-servlet.xml,如springMvc-servlet.xml-->  
  8.             <param-name>contextConfigLocation</param-name>  
  9.             <!-- 此處為空會報錯 Could not open ServletContext resource [/WEB-INF/springMvc-servlet.xml] -->  
  10.             <!--  如果配置了springContextLoaderListener監聽器會預設去找/WEB-INF/applicationContext.xml-->  
  11.             <!-- spring是父容器,springmvc是子容器 -->  
  12.             <!-- 此處作為spring的簡單實現  ,必須在配置檔案中指定掃描包讓spring可以找到容器 -->  
  13.             <param-value>classpath:springMvc-servlet.xml</param-value>  
  14.         </init-param>  
  15.      <load-on-startup>1</load-on-startup>  
  16.       </servlet>  
  17.       <!-- 攔截路徑 -->  
  18.       <servlet-mapping>  
  19.           <servlet-name>springMvc</servlet-name>  
  20.           <url-pattern>/</url-pattern>  
  21.       </servlet-mapping>  
  22. <!--   <listener> -->  
  23. <!--      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> -->  
  24. <!--   </listener> -->  

1.3在 springMvc-servlet.xml中配置包掃描

  1.   <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"       
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"       
  4.         xmlns:context="http://www.springframework.org/schema/context"       
  5.    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     
  6.        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd     
  7.        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd     
  8.        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  9.     <!-- 啟用spring mvc 高階特性   包括   靜態資源    檢視解析器  上傳下載  亂碼處理等 -->   
  10. <!--     <context:annotation-config /> -->  
  11.     <!-- 設定使用註解的類所在的jar ,包括遞迴子包中的類都會被掃描-->  
  12.     <context:component-scan base-package="cn.hxl"></context:component-scan>  
  13.     <!-- 對轉向頁面的路徑解析。prefix:字首, suffix:字尾 -->  
  14. <!--     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" /> -->  
  15. </beans>  
  1. 簡單的請求  直接看程式碼
  1. @Controller  
  2. public class SpringMvcIntroct {  
  3.     @RequestMapping("/hello")  
  4.     //因為此處我們沒有開啟檢視的解析,直接返回字串用@ResponseBody  
  5.     @ResponseBody  
  6.     public String hello(){  
  7.         return "hello";  
  8.     }  
  9. }  

    瀏覽器訪問  出現   hello