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

  • 相关阅读:
    BOM
    no response from Graphic Screen Painter Exiting
    Windows Mobile 中模拟按键
    C# 获取汉字拼音首字母
    Web Service介绍
    .net/c#中栈和堆的区别及代码在栈和堆中的执行流程详解
    使用JSON加速AJAX(By Sean Kelly)
    Sql字符串操作函数
    一个简单AJAX注册示例
    .Net平台开发的技术规范与实践精华总结
  • 原文地址:https://www.cnblogs.com/panbin/p/11334540.html
Copyright © 2020-2023  润新知