当前位置:首页 > IT技术 > 编程语言 > 正文

1. SpringMVC 简介
2022-05-31 17:23:41

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一,并且随着Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时 它还支持 RESTful 编程风格的请求。

 

需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。

开发步骤:

① 导入SpringMVC相关坐标

② 配置SpringMVC核心控制器DispathcerServlet

③ 创建Controller类和视图页面

④ 使用注解配置Controller类中业务方法的映射地址

⑤ 配置SpringMVC核心文件 spring-mvc.xml

⑥ 客户端发起请求测试

 

我们开始实操一下:

① 导入Spring和SpringMVC的坐标

<!--Spring坐标-->
        <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.0.5.RELEASE</version>
        </dependency>
        <!--SpringMVC坐标-->
        <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.0.5.RELEASE</version>
        </dependency>

 

别忘记导入Servlet和Jsp的坐标

<!--Servlet坐标-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
<!--Jsp坐标-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>

 

② 在web.xml配置SpringMVC的核心控制器

我们要用SpringMVC的前端控制器 那么我们是不是需要设置它Servlet 所以现在设置一下 前端控制器【分发器】的Servlet:

注意了 下面代码写死的东西就是写死的 说什么都没用

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

<!-- 这里配置一个Servlet -->
  <servlet>
<!--  名字你随便 就是和以前配置的一样即可  -->
    <servlet-name>DispatcherServlet</servlet-name>
<!--  这个写死的 是SpringMVC的前端控制器(分发器)  -->
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--  配置初始化参数  -->
    <init-param>
<!--   初始化参数名 【写死的】   -->
      <param-name>contextConfigLocation</param-name>
<!--  初始化参数值  SpringMvc的配置文件(容器) -->
      <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>

<!-- 优先级 、 这个随便加不加 一般都是加上 1 最先. -->
    <load-on-startup>1</load-on-startup>
  </servlet>

<!-- 就是说 全部网址请求过来 都要经过这个前端控制器(分发器) -->
  <servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

 

③ 创建Controller和业务方法 

创建个 控制器包 包下随便写个控制器类,其实这个控制器 就相当于是一个 Servlet ,但是这个控制器(分发器) 要一些注解:

TestController .java:
package com.bihu.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {

    @RequestMapping("/go")
    public String GoUrl(){
        System.out.println("执行了Controller的GoUrl方法 证明你访问了 xxx/go");
        //返回字符串 会自动跳转到 s1.jsp 页面!
        return "s1.jsp";
    }

}

 

然后你得写个s1.jsp 可以给他跳转:

s1.jsp:

  

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>ok!</title>
</head>
<body>
    <h2>恭喜你! 体验了SpringMVC 最基本简单的 一个 流程! </h2>
</body>
</html>

 

然后你得配置一下SpringMVC容器,设置一下他扫描注解的范围:【记得配置Context头部哪里】

<?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">
    <!--  配置注解扫描器 注意这个是SpringMVC的配置文件  配置文件要分开 规范点!  -->
    <context:component-scan base-package="com.bihu"/>
</beans>

 

所以呢 重点还是 SpringMVC 容器的配置 和 web.xml 的配置,该写死的就得写死哦 

 

因为报错过几次 所以知道了 他的原理就是 一个 监听器 然后 默认的方式是Get请求

 

1. SpringMVC 简介_mvc

 


作者:​​咸瑜​


本文摘自 :https://blog.51cto.com/u