ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring MVC学习笔记(二)

2021-06-26 14:02:20  阅读:114  来源: 互联网

标签:xml api Spring jar 笔记 MVC jsp servlet javax


一、第一个Spring MVC案例

1.创建 Maven 项目并添加相关的jar包

  在 pom.xml 文件下添加 dependency 依赖

<dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.8.0-M1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.8</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.3</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>spring-webmvc
  • spring-webmvc-5.3.8.jar(必备)

  • javax.servlet-api-4.0.1.jar(必备)

  • javax.servlet.jsp-api-2.3.3.jar(必备)

  • jstl-1.2.jar(必备)

  • JUnit jar包:junit-jupiter-api-5.8.0-M1.jar(推荐,用于测试代码)

2.创建子项目,并添加web支持

3.配置web文件夹下的web.xml文件,步骤如下:

  1)注册 DispatcherServlet

  2)加载Spring MVC的配置文件:springmvc-servlet.xml

  3)设置创建 Servlet 实例的启动时机

  4)设置映射 Servlet 的对外访问路径

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!-- 1.配置前端控制器DispatcherServlet -->
    <!-- SpringMVC核心 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <!-- 2.DispatcherServlet绑定Spring的配置文件  -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>

        <!-- 3.设置启动级别  -->
        <!-- 启动顺序,数字越小,启动越早 -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- 在SpringMVC中 url-pattern -->
    <!-- / : 匹配所有的请求  不匹配jsp页面 -->
    <!-- /*: 匹配所有的请求  包括匹配jsp页面 -->
    <!-- 4.设置映射Servlet的访问路径 -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app> 

  其中 servlet 标签中的 servlet-name 和 servlet-mapping 标签中的 servlet-name 值必须相同,因为通过 servlet 标签中的 servlet-name 标签映射到 servlet-class 标签中的值,最终访问 servlet-class 标签中的 class。

4.在 resources 文件夹下创建配置文件 springmvc-servlet.xml 

  1)配置处理器映射器 HandlerMapping

  2)配置处理器适配器 HandlerAdapter

  3)配置视图解析器 ViewReslover

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

        <!-- 1.配置处理器映射器HandlerMapping -->
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

        <!-- 2.配置处理器适配器HandlerAdapter-->
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

        <!-- 3.配置视图解析器ViewResolver -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!-- 前缀  -->
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <!-- 后缀  -->
            <property name="suffix" value=".jsp"/>
        </bean>

</beans>

  视图解析器中的 property 标签会自动为/WEB-INF/jsp/下的文件自动添加 jsp 后缀

5.创建对应的控制类Controller

  在java文件夹下创建存放控制器的包 com.autumn.controller ,创建 HelloController.java 文件

 

 

   编写我们要操作业务Controller ,实现 Controller 接口,并需要返回一个 ModelAndView

public class HelloController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView modelAndView = new ModelAndView();

        //业务代码
        String result = "Welcome Spring MVC";
        modelAndView.addObject("msg" , result);

        //视图跳转
        modelAndView.setViewName("test");

        return modelAndView;
    }
}

6.创建前端视图 , 并且和 HelloController.java 进行绑定

  创建test.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

${msg}

</body>
</html>

  test.jsp 和 HelloController.java 进行绑定

  在配置文件 springmvc-servlet.xml 进行注册和绑定

<!-- BeanNameUrlHandlerMapping -->
        <!-- id为http://localhost:8080/test 中的 test -->
        <bean id="/test" class="com.autumn.controller.HelloController"/>

7.运行

   在Tomcat中进行配置

 

 

   运行Tomcat

 

  跳转到test页面

 

 

 

 

 8.可能出现的问题:访问出现404

  • 查看控制台输出,看是否缺少了jar包
  • 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖
  • 重启Tomcat 即可解决!
  • 显示进程被占用,一般是IDEA占用对应进程,重启IDEA即可解决问题

 

标签:xml,api,Spring,jar,笔记,MVC,jsp,servlet,javax
来源: https://www.cnblogs.com/autumn27/p/14934093.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有