美文网首页
01|第一课:Spring MVC环境搭建以及第一个程序

01|第一课:Spring MVC环境搭建以及第一个程序

作者: 木头amo | 来源:发表于2019-01-31 23:07 被阅读8次

    一、历史回顾

    (一)、项目的简单架构:

    项目简单架构

    二、环境搭建

    (一)、springMVC搭建(IDEA)(建议用这个学习)

    1、查看该地址:https://www.cnblogs.com/chenlinghong/p/8339555.html

    2、在idea中引入相关命名空间,可以参考:https://segmentfault.com/q/1010000003706765

    (二)、springMVC搭建(Eclipse)

    1、jar包引入

    springMVC基础jar包:spring-aop.jar、spring-bean.jar、spring-context.jar、spring-core.jar、spring-expression.jar、spring-web.jar、spring-webmvc.jar、commons-logging.jar。

    将这些jar直接拷贝到“WEB-INF”---> “lib”目录下,如下图所示:

    springMVC所需的jar

    注意:spring-***.4.x.jar以上的jar包需要的JDK的版本是1.7以上包含1.7,以下则是JDK版本是1.7以下。

    2、springMVC配置文件(springmvc.xml)

    Servlet  ---  SpringMVC

    (1)、创建一个springmvc.xml文件(配置在src目录下)

    (2)、引入命名空间(选中常用的命名空间:beans、aop、context、mvc)。

    (3)、配置springMVC的扫描包以及视图解析器

    配置有注解的包,告诉springMVC利用那个包里的处理类

    配置springMVC的扫描包

    配置视图解析器

    配置springMVC的视图解析器

    最终springMVC的springmvc.xml的相关配置,如下图所示:

    3、web.xml配置

    a、Servlet的处理请求的方式:

    jsp ---> web.xml中的<url-parttern>配置请求的拦截,然后由<servlet-name>同名的<servlet>中的<servlet-class>中的java类去处理。具体处理如下图所示:

    web.xml的处理

    b、配置web.xml中的springMVC相关内容

    如果既有Servlet又有SpringMVC怎么处理呢?

    普通的Servlet流程:请求-url-parttern,然后交给对应的Servlet去处理。

    如果想用SpringMVC,如何告知程序?--如何让SpringMVC介入程序,需要配置一个SpringMVC自带的Servlet。它叫DispatcherServlet(这个是SpringMVC源码)。通过名字发现,它其实就是一个Servlet。jsp发送过来的请求。

    通过springMVC在web.xml以下配置信息,拦截所有请求,交给springMVC处理。如下图所示:

    web.xml中关于springMVC的配置

    springMVC在web.xml中的<url-pattern>配置的信息,下面就是交由springMVC处理:

    (a)、“/” :这里代表一切请求。

    (b)、“/user”:只拦截以“/user”开头的请求

    (c)、“/user/abc.do”:只拦截该请求

    (d)、“.action”:只拦截以“.action”结尾的请求。这里的目的是,项目中同时兼容springMVC和Servlet。想用SpringMVC去处理就用“.action”结尾的请求,不想用SpringMVC而是想用Servlet去处理就用这种方式。

    servlet和springMVC处理不同的请求

    c、知识扩展

    配置web.xml中的springMVC相关内容中,关于<init-param>配置springmvc.xml配置信息。到底是什么原因呢?

    通过查看源码文件DispatcherServlet.class文件中,寻找“contextConfigLocation”成员变量(如果没有去父类中寻找),这个成员变量是指定spring配置文件的路径。下面是源码截图:

    源码类

    如果不在web.xml中配置关于“contextConfigLocation”配置信息。那么通过直接启动示例项目则会报出Exception,并且告诉开发人员默认的springMVC的配置文件相关信息。如下图所示:

    web.xml去掉<init-param>配置信息 默认的配置文件

    d、最终Web.xml的配置信息,如下图所示:

    web.xml最终配置

    4、Controller(控制)

    在src下建立一个包“com.test.springmvc”--->建立一个类“SpringHandler.java”(这里通过注解)。这里welcome方法的返回值,是与视图解析器关联的,关联的内容是“前缀” + 方法返回字符串 + “后缀”(此处是 view/success.jsp)。

    5、请求、响应的jsp

    (1)、请求(index.jsp)

    请求

    (2)、响应(success.jsp)

    响应

    三、springMVC原理

    下面是针对视图解析器的简单描述。

    解释视图解析器图2

    相关文章

      网友评论

          本文标题:01|第一课:Spring MVC环境搭建以及第一个程序

          本文链接:https://www.haomeiwen.com/subject/jtfprqtx.html