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请求的顺序



 

相关文章
|
4月前
|
前端开发 JavaScript Java
JAVAEE框架技术之4springMVC入门
JAVAEE框架技术之4springMVC入门
96 0
JAVAEE框架技术之4springMVC入门
|
4月前
|
Java 数据库连接 Maven
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
|
4月前
|
Java 数据库 数据安全/隐私保护
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)
|
6月前
|
设计模式 前端开发 Java
SpringMvc框架入门使用(详细教程)
SpringMvc框架入门使用(详细教程)
66 0
|
8月前
|
XML Java 数据库连接
(精)SSM框架整合的配置文件(spring+spring MVC+mybatis)
(精)SSM框架整合的配置文件(spring+spring MVC+mybatis)
59 0
|
4月前
|
前端开发 Java Apache
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
72 0
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
|
2天前
|
前端开发 Java 应用服务中间件
Spring MVC框架概述
Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
9 1
|
4月前
|
Java BI 数据库
基于SSM框架实现面向小微企业的简历管理系统企业简历管理系统(分前后台spring+springmvc+mybatis+maven+jsp+css+echarts)
基于SSM框架实现面向小微企业的简历管理系统企业简历管理系统(分前后台spring+springmvc+mybatis+maven+jsp+css+echarts)
|
4月前
|
前端开发 Java 关系型数据库
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
|
2月前
|
前端开发 JavaScript Java
MVC框架:SpringMVC(三)
MVC框架:SpringMVC
33 0