SpringMVC——框架概述&第一个注解的SpringMVC程序

简介: SpringMVC——框架概述&第一个注解的SpringMVC程序

文章目录:


1.SpringMVC框架的基本说明

2.第一个注解的SpringMVC程序

2.1 IDEA中使用maven创建一个web项目

2.2 pom.xml中加入相关依赖

2.3 web.xml中声明DispatcherServlet对象

2.4 创建一个发起请求的jsp页面(index.jsp

2.5 创建一个普通的类,作为控制器使用,代替之前的servlet

2.6 创建显示处理结果的jsp页面(show.jsp

2.7 创建springmvc的配置文件

2.8 web项目配置并启动tomcat,测试!!!

3.项目的整体结构和步骤总结

3.1 整体结构 

3.2 步骤总结

4.使用SpringMVC框架处理web请求的顺序

1.SpringMVC框架的基本说明


SpringMVC是基于Spring的,是Spring中的一个模块,专门用来做web开发使用的。 

SpringMVC 也叫 Spring web mvc。是Spring 框架的一部分,是在Spring3.0后发布的。基于 MVC 架构,功能分工明确、解耦合。

SpringMVC也是一个容器,使用IoC核心技术,管理界面层中的控制器对象。SpringMVC的底层就是servlet,以servlet为核心,接收请求、处理请求,显示处理结果给用户。在此之前这个功能是由Servlet来实现的,现在使用SpringMVC来代替Servlet行驶控制器的角色和功能。

其核心Servlet是:DispatcherServlet

三层架构:用户发起请求--------SpringMVC--------Spring--------MyBatis--------MySQL

2.第一个注解的SpringMVC程序


2.1 IDEA中使用maven创建一个web项目


2.2 pom.xml中加入相关依赖

<!-- springmvc依赖 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.5.RELEASE</version>
</dependency>
<!-- servlet依赖 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency>
<!-- jsp依赖 -->
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.1</version>
</dependency>

2.3 web.xml中声明DispatcherServlet对象

<?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">
    <!-- 声明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:springmvc.xml</param-value>
        </init-param>
        <!-- tomcat服务器创建对象的顺序,数值(大于等于0)越小,创建对象的时间就越早 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <!--
            把一些请求交给指定的servlet处理
            1.使用扩展名方式,格式:*.xxx, xxx是自定义的扩展名
              例如:*.do  *.action  *.mvc , 不能使用 *.jsp!!!
            2.使用斜杠 "/"
        -->
        <!-- 意思是将 *.do 的请求交给 DispatcherServlet 处理 -->
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

2.4 创建一个发起请求的jsp页面(index.jsp

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>第一个springmvc</title>
</head>
<body>
    <a href="some.do">发起some.do的请求</a>
</body>
</html>

2.5 创建一个普通的类,作为控制器使用,代替之前的servlet

package com.songzihao.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/**
 *  @Controller: 创建控制器对象
 *  控制器: 叫作后端控制器,自定义的类处理请求的
 *  位置: 在类的上面,表示创建此类的对象,对象放在springmvc容器中
 */
@Controller
public class MyController {
    /**
     *  定义方法,处理请求.相当于之前servlet中的doGet()
     *  springmvc框架,使用控制器类中的方法,处理请求
     *  1.方法的形参: 表示请求中的参数
     *  2.方法的返回值: 表示本次请求的处理结果
     *
     *  @RequestMapping: 请求映射
     *  属性: value,请求中的uri地址,唯一值,以"/"开头
     *  位置: 1) 在方法的上面(必须)   2) 在类定义的上面(可选)
     *  作用: 把指定的请求交给指定的方法处理
     */
    @RequestMapping(value = "/some.do")
    public ModelAndView doSome() {
        //使用这个方法处理请求,能处理请求的方法叫作控制器方法
        ModelAndView mv=new ModelAndView();
        //添加数据
        mv.addObject("msg","处理了some.do的请求");
        mv.addObject("fun","执行了doSome方法");
        //指定视图
        mv.setViewName("/WEB-INF/view/show.jsp");
        //返回结果
        return mv;
    }
    /**
     *  当框架调用完doSome()方法后,得到返回值ModelAndView对象mv,处理mv对象里的数据model和视图view
     *  mv.addObject("msg","处理了some.do的请求"); 相当于 对数据执行 request.setAttribute("msg","处理了some.do的请求");
     *  mv.setViewName("/show.jsp"); 相当于 对视图执行 request.getRequestDispatcher("/show.jsp").forward(request,response);
     */
}

2.6 创建显示处理结果的jsp页面(show.jsp

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>show</title>
</head>
<body>
    /WEB-INF/view/show.jsp,显示request作用域中的数据<br/>
    <h3>msg数据:<%=request.getAttribute("msg")%></h3>
    <h3>fun数据:${fun}</h3>
</body>
</html>

2.7 创建springmvc的配置文件

<?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 https://www.springframework.org/schema/context/spring-context.xsd">
    <!-- springmvc的配置文件 -->
    <!-- 声明组件扫描器 -->
    <context:component-scan base-package="com.songzihao.controller" />
</beans>

2.8 web项目配置并启动tomcat,测试!!!


3.项目的整体结构和步骤总结


3.1 整体结构

3.2 步骤总结

springmvc接收请求,显示请求的处理结果

servlet的实现方式:jsp发起请求-----servlet接收请求------jsp显示处理结果

 

步骤:

1. 新建web项目

 

2. 加入web相关的依赖(spring-webmvc依赖、servlet依赖、jsp依赖)

 

3. 声明springmvc核心对象DispatcherServlet

  1) DispatcherServlet是一个Servlet对象

  2) DispatcherServlet叫作前端控制器(front controller

  3) DispatcherServlet的作用:在servletinit()方法中,创建springmvc容器对象;作为servlet接收请求

 

4.创建一个jspindex.jsp),发起请求

 

5.创建一个普通的类,作为控制器使用,代替之前的servlet

 1) 在类的上面加入注解 @Controller

 2) 在类中定义方法,方法的上面加入注解 @RequestMapping。表示此方法是处理请求的,相当于servlet中的doGetdoPost

 

6.创建显示处理结果的jspshow.jsp

 

7.创建springmvc的配置文件

 1) 声明组件扫描器(面对注解)

 2) 声明视图解析器(可选)

 

8.使用逻辑视图名称(对应步骤中的7.2

4.使用SpringMVC框架处理web请求的顺序



 

相关文章
|
7月前
|
前端开发 JavaScript Java
JAVAEE框架技术之4springMVC入门
JAVAEE框架技术之4springMVC入门
138 0
JAVAEE框架技术之4springMVC入门
|
7月前
|
前端开发 Java 开发者
Spring MVC:构建高效、可维护、可扩展的Web应用程序
Spring MVC:构建高效、可维护、可扩展的Web应用程序
58 0
|
7月前
|
Java 数据库连接 Maven
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
|
7月前
|
Java 数据库 数据安全/隐私保护
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)
|
4月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
5月前
|
XML 前端开发 Java
深入理解SpringMVC工作原理,像大牛一样手写SpringMVC框架
对于SpringMVC相信诸位并不陌生,这是Java开发过程中使用最频繁的框架,在你的项目中可能不一定用MyBatis,但绝对会使用SpringMVC,因为操作数据库还有Hibernate、JPA等其他ORM框架选择,但SpringMVC这个框架在其领域中,可谓是独领风骚
|
7月前
|
前端开发 Java Apache
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
108 0
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
|
6月前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
7月前
|
Java BI 数据库
基于SSM框架实现面向小微企业的简历管理系统企业简历管理系统(分前后台spring+springmvc+mybatis+maven+jsp+css+echarts)
基于SSM框架实现面向小微企业的简历管理系统企业简历管理系统(分前后台spring+springmvc+mybatis+maven+jsp+css+echarts)
101 0
|
7月前
|
存储 JSON 前端开发
利用Spring MVC开发程序2
利用Spring MVC开发程序
58 1