SpringMVC学习之旅-项目搭建篇(1)

97 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天,点击查看活动详情


写在前面

当我们学习了spring框架之后,基本上来说,已经是打好了一个良好得基础了。

但是距离一个企业的基本开发需要掌握的框架,还是得经过不断得学习,才行。

这不,我们继续学习下一个框架SpringMVC

SpringMVC这个框架,一般来说,用来作为我们项目得Controller层,用来接收用户得输入,然后选择相应得视图回显展示给用户。

MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(javaBean:封装数据)分开构成了MVC。

对于以前得项目来说,还有出现Struts得,但现在基本都很少了。

Struts1(现在一般不用),Struts2(一般老项目使用)等等。

这不,接下来就是spring mvc框架的学习之旅了,希望可以帮助到大家。

一、搭建入门工程

1.1 添加依赖

就是mvc依赖、jstl 依赖还有servlet-api依赖

<!-- spring MVC依赖包 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.7.RELEASE</version>
</dependency>

<!-- jstl -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

<!-- servlet -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

1.2 开发步骤

1.2.1 配置部分

  • web.xml

在 web.xml 中添加 前端控制器DispatcherServlet 的配置。

<web-app >

<!-- 学习前置条件 -->
<!-- 问题1:web.xml中servelet、filter、listener、context-param加载顺序 -->
<!-- 问题2:load-on-startup标签的作用,影响了servlet对象创建的时机 -->
<!-- 问题3:url-pattern标签的配置方式有四种:/dispatcherServlet、 /servlet/* 、*
、/ ,以上四种配置,优先级是如何的-->
<!-- 问题4:url-pattern标签的配置为/*报错,原因是它拦截了JSP请求,但是又不能处理JSP请
求。为什么配置/就不拦截JSP请求,而配置/*,就会拦截JSP请求-->
<!-- 问题5:配置了springmvc去读取spring配置文件之后,就产生了spring父子容器的问题 -->

<!-- 配置前端控制器 -->
<servlet>
    <servlet-name>springmvc</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <!-- 设置spring配置文件路径 -->
    <!-- 如果不设置初始化参数,那么DispatcherServlet会读取默认路径下的配置文件 -->
    <!-- 默认配置文件路径:/WEB-INF/springmvc-servlet.xml -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc.xml</param-value>
    </init-param>

    <!-- 指定初始化时机,设置为2,表示Tomcat启动时,DispatcherServlet会跟随着初始化-->
    <!-- 如果不指定初始化时机,DispatcherServlet就会在第一次被请求的时候,才会初始化,而且只会被初始化一次-->
    <load-on-startup>2</load-on-startup>

</servlet>

<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!-- URL-PATTERN的设置 -->
    <!-- 不要配置为/*,否则报错 -->
    <!-- 通俗解释:/*,会拦截整个项目中的资源访问,包含JSP和静态资源的访问,对于静态资源的访问springMVC提供了默认的Handler处理器 -->
    <!-- 但是对于JSP来讲,springmvc没有提供默认的处理器,我们也没有手动编写对于的处理器,此时按照springmvc的处理流程分析得知,它短路了 -->
    <url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>
  • springmvc.xml

DispatcherServlet 启动时会去加载 springmvc.xml 文件

<beans>
    <!-- 配置处理器Bean的读取 -->
    <!-- 扫描controller注解,多个包中间使用半角逗号分隔 -->
    <context:component-scan base-package="com.llsydn.springmvc.controller"/>

    <!-- 配置三大组件之处理器适配器和处理器映射器 -->
    <!-- 内置了RequestMappingHandlerMapping和RequestMappingHandlerAdapter等组件注册-->
    <mvc:annotation-driven />

    <!-- 配置三大组件之视图解析器 -->
    <!-- InternalResourceViewResolver:默认支持JSP视图解析-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>

好了,以上就是SpringMVC学习之旅-项目搭建篇(1) 的全部内容了。

今天就先到这里了,后面的内容,留下次分享了,先溜了!!!^_^

如果觉得写得不错的,帮忙点赞、评论、收藏一下呗!!!

image.png