zoukankan      html  css  js  c++  java
  • SpringMVC第一个程序学习(使用xml配置的方式搭建SpringMVC)

    一、SpringMVC和Struts2对比

    二、SpringMVC框架搭建

    1.引入jar包,需要的jar包如图所示

    spring中相关的jar包必须是同一个版本的

    maven项目中,pom.xml配置:

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

    解释一下:

    1. commons-logging包是spring中必须依赖的jar包,但是如果通过maven项目管理我们的jar包,maven已经帮助我们将这个包自动引入,所以我们不需要再手动引入此jar包,解释如下图

     2. 这个项目中使用的事spring5,spring5默认是jdk8支持,所以,我们的pom.xml中加入了如下的配置

    <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之后,提倡用注解的方式配置)

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

  • 相关阅读:
    HDU 2844 Coins(多重背包)
    HDU 4540 威威猫系列故事——打地鼠(DP)
    Codeforces Round #236 (Div. 2)
    FZU 2140 Forever 0.5
    HDU 1171 Big Event in HDU(DP)
    HDU 1160 FatMouse's Speed(DP)
    ZOJ 3490 String Successor
    ZOJ 3609 Modular Inverse
    ZOJ 3603 Draw Something Cheat
    ZOJ 3705 Applications
  • 原文地址:https://www.cnblogs.com/panbin/p/11334540.html
Copyright © 2011-2022 走看看