SpringMVC--快速开发

2022-02-23 14:14:58 浏览数 (1)

前言

项目在Spring–框架学习 | 花猪のBlog (cnhuazhu.top)一文中的Spring集成web环境的项目基础上进行开发。

项目结构如下:

概述

SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架

SpringMVC已经成为目前最主流的MVC框架之一。它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful编程风格的请求。

项目搭建

流程说明

SpringMVC的开发步骤如下:

  • 导入SpringMVC相关坐标
  • 配置SpringMVC核心控制器DispathcerServlet
  • 创建Controller类和视图页面
  • 使用注解配置Controller类中业务方法的映射地址
  • 配置SpringMVC核心文件spring-mvc.xml
  • 客户端发起请求测试

操作

  • 在pom.xml配置文件中导入Spring和SpringMVC的坐标:
代码语言:javascript复制
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>
  • 在web.xml配置文件中配置前端控制器:
代码语言:javascript复制
<!--配置SpringMVC的前端控制器-->
<servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup> 
</servlet>
<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

说明:

<load-on-startup>1</load-on-startup> :表示服务器启动时就加载servlet,创建对象。(不写则默认访问时才加载)

<url-pattern>/</url-pattern>:标名任何访问都要经过该控制器

  • 在/src/main/webapp目录下新建success.jsp文件(视图页面):
代码语言:javascript复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>Success!</h1>
</body>
</html>
  • 在/src/main/java/mvc目录下新建controller文件夹,用于充当临时web层测试,在其中编写UserController类:
代码语言:javascript复制
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controlle
public class UserController {
    @RequestMapping("/quick")
    public String save() {
        System.out.println("Controller save running....");
        return "success.jsp";
    }
}

说明:

@RequestMapping("/quick"):表示访问/quick会调用save()方法,该方法中的返回值就是跳转的视图页面

  • 在/src/main/resources目录下新建spring-mvc.xml配置文件,在其中添加Controller的组件扫描:
代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--Controller的组件扫描-->
    <context:component-scan base-package="mvc.controller"></context:component-scan>
</beans>
  • 启动tomcat服务,浏览器访问http://localhost:8080/quick,可以看到跳转至success视图页面,并在控制台输出打印:

访问流程说明

  1. 首先浏览器访问http://localhost:8080/quick,发起请求
  2. 然后找tomcat,通过tomcat去找内部工程
  3. 接着找到前端控制器Servlet(配置缺省/
  1. 下一步前端控制器根据请求的资源去解析,找对应的请求资源/quick

后记

前端控制器的配置相当于一个核心的Servlet,通过配置缺省/,所有的请求都要先通过它,进而该控制器再去根据响应的请求去访问其他的资源。

0 人点赞