SpringMVC第一個程序學習(使用xml配置的方式搭建SpringMVC)

1、SpringMVC和Struts2對比前端

2、SpringMVC框架搭建java

1.引入jar包,須要的jar包如圖所示web

spring中相關的jar包必須是同一個版本的spring

maven項目中,pom.xml配置:express

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.py</groupId>
    <artifactId>springMvcHello1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
<!-- <dependency> -->
<!-- <groupId>commons-logging</groupId> -->
<!-- <artifactId>commons-logging</artifactId> -->
<!-- <version>1.1.1</version> -->
<!-- </dependency> -->
    </dependencies>

    <build>
        <finalName>base</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <target>1.8</target>
                    <source>1.8</source>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

解釋一下:apache

1. commons-logging包是spring中必須依賴的jar包,可是若是經過maven項目管理咱們的jar包,maven已經幫助咱們將這個包自動引入,因此咱們不須要再手動引入此jar包,解釋以下圖api

 

 2. 這個項目中使用的事spring5,spring5默認是jdk8支持,因此,咱們的pom.xml中加入了以下的配置mvc

<build>
        <finalName>base</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <target>1.8</target>
                    <source>1.8</source>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 

2.配置前端控制器框架

補充:這個引入的命名空間的版本,上圖是4.0,可是我本地測試的時候,用4.0的時候,點擊alt+/ 沒有提示,可是我換成2.5版本以後,有提示;(servlet3.0以後,提倡用註解的方式配置)maven

3.建立mvc.xml配置文件(這種建立方式是否是隻在sts開發環境中才有)

這種建立方式,自動建立的mvc.xml文件中,將命名空間自動引入

 4. 編寫HelloController類

這裏建立的Controller必需要繼承Controller接口,且必需要實現handleRequest方法;

 

補充:在web.xml中,配置mvc.xml中時,使用

<init-param>
<param-name>contextConfigLocation</param-name>    
<param-value>classpath:mvc.xml</param-value>    
</init-param>

其中,param-name的值必須爲contextConfigLocation;param-value的值classpath:mvc.xml,這個classpath表明的是在src-main-resources資源目錄中查找;

web項目的目錄結構:(這裏不理解會是個坑)

3. 總結:

 

4. 填坑:

<load-on-startup>1</load-on-startup>:在Tomcat啓動的時候就初始化SpringMVC容器;這個值越低越優先啓動

<url-pattern>/</url-pattern>:不能寫成/*,可寫成*.do

<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:mvc.xml</param-value>
</init-param>:初始化參數,告訴DispatcherServlet去哪裏找配置文件;若是不寫這個配置,系統會報錯,會有一個默認的路徑,會到WEB-INF路徑下尋找,名字默認爲:<servlet-name>元素文本內容-servlet.xml文件

相關文章
相關標籤/搜索