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文件

相关文章
相关标签/搜索