SpringMVC入门

目录

一、概述

1.三层架构

2.MVC模型

3.概述

二、入门程序

1.注意

2.依赖

3.核心控制器web.xml

4.spring-mvc.xml配置文件

5.controller

6.suc.jsp

7.index.jsp

8.启动tomcat进行测试

三、执行流程


一、概述

1.三层架构

持久层(用来对数据库进行一些操作)、业务层(处理一些业务逻辑)、表现层(WEB)

2.MVC模型

MVC全名是Model View Controller模型视图控制器

(1)Model:JavaBean的类,它是用来进行数据封装的

(2)View:指JSP、HTML

(3)Controller:用来接受用户的请求,它是整个流程的控制器

3.概述

SpringMVC是一种基于java实现的MVC设计模型的轻量级WEB框架

SpringMVC在三成架构中是表现层框架

二、入门程序

1.注意

spring MVC是创建mavenJavaWeb项目了,还要配置tomcat,打包方式是war包

2.依赖

XML 复制代码
 <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
        <!-- 版本锁定 -->
        <spring.version>5.0.2.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

3.核心控制器web.xml

XML 复制代码
<?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">
    <!-- 一启动tomcat web.xml就会被读取-->

    <!--前端控制器-->
    <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>*.do</url-pattern>
    </servlet-mapping>
</web-app>

4.spring-mvc.xml配置文件

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       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
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- 配置spring创建容器时要扫描的包 -->
    <context:component-scan base-package="com.test.controller"></context:component-scan>

    <!-- 配置视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!-- 配置spring开启注解mvc的支持-->
<!--    <mvc:annotation-driven></mvc:annotation-driven>-->
</beans>

5.controller

这里返回的是suc,走的是视图解析器,所以对应的/WEB-INF/pages下有个suc.jsp

java 复制代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/*
* 表现层控制器
* 接收前端请求
* */
@Controller
public class HelloContoller {
    //具体处理前端请求的方法
    @RequestMapping(path = "/hello.do")
    public String sayHello(){
        System.out.println("入门方法执行了...");
        return "suc";
    }
}

6.suc.jsp

html 复制代码
<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2024/11/2
  Time: 14:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h3>入门成功</h3>
</body>
</html>

7.index.jsp

在index里写了一个<a>标签去触发controller里sayHello()这个方法

html 复制代码
<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2024/11/2
  Time: 14:29
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h3>入门</h3>
<a href="hello.do">入门程序</a>
</body>
</html>

8.启动tomcat进行测试

然后点这个入门程序就会进行跳转

三、执行流程

(1)启动tomcat,web.xml就会加载,web.xml文件里配置了load-on-startup,会创建DispatcherServlet对象,然后就会加载spring-mvc.xml配置文件

(2)从index.jsp发起请求到前端控制器(DispatcherServlet),然后根据@RequestMapping注解找到执行的具体方法

(3)根据匹配到的具体方法的返回值及视图解析器解析出指定的jsp

(4)将页面返回到客户端浏览器

相关推荐
wertuiop_13 小时前
Spring MVC配置详解:从历史到实战
java·spring·mvc
ocp11415 小时前
Spring MVC 异步接口简析
java·spring·mvc
wertuiop_18 小时前
Spring MVC请求与响应全解析:从参数绑定到异常处理
java·spring·mvc
圈圈编码21 小时前
视图对象(View Object, VO)
java·mvc·状态模式
addaduvyhup1 天前
从 Java 的 Spring Boot MVC 转向 Go 语言开发的差异变化
java·spring boot·go·mvc
Code哈哈笑2 天前
【JavaEE】传递和接收数据,Spring MVC 注解搭建前后端交互的「隐形桥梁」
java·spring·java-ee·mvc
时间会给答案scidag2 天前
初识Spring MVC
java·spring·mvc
咖啡教室2 天前
DDD四层架构和MVC三层架构的个人理解和学习笔记
后端·mvc·领域驱动设计
坐望云起3 天前
ASP.NET Web的 Razor Pages应用,配置热重载,解决.NET Core MVC 页面在更改后不刷新
前端·后端·asp.net·mvc·.net core·razor pages
LCY1333 天前
spring MVC 介绍
java·spring·mvc