基於Xml 配置的Spring MVC的基本搭建

寫這篇文章的目的一是鞏固本身學到的知識,二是方便本身之後快速查找。java

因爲這篇文章所寫的內容過於基礎,因此就只寫搭建的過程,文章最後會附上參考文章的連接。web

搭建環境:spring

1. IDEAapi

2. Mavenspring-mvc

3. Tomcatmvc

搭建步驟:app

1. 建立maven-archetype-webapp項目,這個項目是maven的web項目webapp

2.在pom中添加sping mvc相關的依賴包,這個依賴包是我本身使用的,包含了單元測試和相關的mvc mock包:jsp

  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.9.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-jpa</artifactId>
      <version>1.10.1.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>4.3.8.RELEASE</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.1</version>
    </dependency>

    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>2.8.47</version>
    </dependency>

  </dependencies>

3. 編輯web.xml:maven

<?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">

    <display-name>SpringMVCDemo Web Application</display-name>

    <!--註冊DispatcherServlet-->
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/appServlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!--將DispatcherServlet映射到「/」-->
    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

DispatcherServlet是Spring MVC的核心,它要負責將請求路由到其餘的組件之中。DispatcherServlet會根據Servlet的名字找到一個文件,並基於該文件加載應用上下文。在個人web.xml中,Servlet的名字是appServlet,所以DispatcherServlet會從/WEB-INF/appServlet-context.xml文件中加載其應用上下文。

4.在web.xml的同級目錄下新建Spring 配置文件 (選中WEB-INF文件夾---右鍵---NEW---XML Configuration File---Spring Config),名稱爲appServlet-context.xml。

<?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:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--指明controller所在包,並掃描其中的註解-->
    <context:component-scan base-package="com.home.web"/>

    <!--靜態資源的訪問-->
    <mvc:default-servlet-handler/>

    <!--開啓註解-->
    <mvc:annotation-driven/>

    <!--ViewResolver視圖解析器-->
    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

  注意,這個配置文件的名稱有規則:xxxx-context.xml。 其中xxxx必須和web.xml中<servlet-name>配置節中的名稱保持相同,個人servlet-name是appServlet,因此配置文件的名稱是appServlet-context.xml。  

5. 在main文件夾下新建文件夾,名稱爲java,文件夾類型設置爲Sources。

6.在java文件夾下新建package,名稱爲com.home.web。而後在package裏新建HomeController類:

package com.home.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 * Created by Administrator on 2017/7/30.
 */
@Controller
@RequestMapping(value = "/home")
public class HomeController {

    @RequestMapping(value = "/index")
    public String Index(){
        return "index";
    }
}

7.在WEB-INF文件夾下新建pages文件夾,添加一個jsp文件,名爲index.jsp。

好了,這樣一個最簡單的Spring MVC就搭建完成了。若是要運行,還要作一下配置,

  • 點擊IDEA右上角下拉箭頭---Edit Configurations---點擊+號---Tomcat Server---Local
  • 選擇完成後,在右邊的窗口中的Deployment的tab頁面中---+號---Artifact---選擇第二個xxx:war exploded

這樣就配置完成了,點擊IDEA右上角的綠色箭頭運行。

 

附件文件目錄截圖:

 

 

 參考文章連接:

1. https://my.oschina.net/gaussik/blog/385697

2. http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example/

 

源碼下載:

yonghoujishan.7z

相關文章
相關標籤/搜索