javaweb实训第五天下午——SpringMVC基础(1)

简介: 1.课程介绍SpringMVC概述; (了解)SpringMVC入门; (掌握)前端控制器配置; (掌握)业务控制器的三种实现; (掌握)全注解; (掌握)控制器常用操作(接收数据,向页面传值,重定向转发); (掌握)

1.课程介绍

  1. SpringMVC概述; (了解)
  2. SpringMVC入门; (掌握)
  3. 前端控制器配置; (掌握)
  4. 业务控制器的三种实现; (掌握)
  5. 全注解; (掌握)
  6. 控制器常用操作(接收数据,向页面传值,重定向转发); (掌握)

2.SpringMVC概述

SpringMVC是一个基于MVC模式的WEB/表现层框架,它解决WEB开发中常见的问题:参数接收、文件上传/下载、表单验证、国际化等等;

nSpringMVC作为Spring框架一个非常重要的功能模块,可以与Spring无缝集成,提高开发效率;

Spring是一个轻量级的Java 开发框架,为了解决企业应用开发的复杂性而创建。SpringMVC以Spring框架为核心,为应用程序中的Web层(表现层)提出的一套优秀的解决方案;

目前很多公司都使用SpringMVC,90%的招聘单位要求熟悉使用SpringMVC;

注意:SpringMvc的功能就是之前Servlet的功能,可以理解为使用SpringMVC代替了Servlet;

3.SpringMVC入门

3.1.入门需知

3.1.1.Jar包管理

SpringMVC是建立在Spring基础上的。所以使用SpringMVC必须先保证你的项目拥有Spring的运行环境;

使用框架的第一步需要框架的官方网站下载框架相关的文件,而SpringMVC无需单独下载,因为SpringMVC是作为Spring中的一个模块存在,所以我们只需要下载Spring即可;

SpringMVC需要的jar包:

spring-webmvc-4.1.2.RELEASE.jar – SpringMVC核心包

spring-web-4.1.2.RELEASE.jar – Spring对Web项目项目的支持

3.1.2.核心控制器(前端控制器)

核心控制器:用于Web层核心功能的处理以及在所有控制器执行之前,所有的WebMvc框架都采用了这种方式,在SpringMVC中使用的是DispatcherServlet为核心控制器. DispatcherServlet核心控制器会拦截匹配的请求,把拦截下来的请求,依据相应的规则分发到目标Controller来处理;

20210602150350967.png

3.2.加入相关Spring的jar包

Spring的相关jar包:

com.springsource.org.apache.commons.logging-1.1.1.jar

spring-beans-4.1.2.RELEASE.jar

spring-context-4.1.2.RELEASE.jar

spring-core-4.1.2.RELEASE.jar

spring-expression-4.1.2.RELEASE.jar

spring-aop-4.1.2.RELEASE.jar – Spring测试需要导入此包

注意:spring orm、jdbc、tx相关jar根据项目使用自行添加;

注意:不要使用spring.3的jar和4.x的jar文件混用;


SpringMVC相关jar包:

spring-web-4.1.2.RELEASE.jar – Spring对web项目的支持

spring-webmvc-4.1.2.RELEASE.jar – SpringMVC核心包

3.3.配置核心控制器

1.webmvc框架的心脏就是核心控制器,负责所有请求的公共功能,然后在分发给具体的控制器(我们编写的控制器),完成业务逻辑,响应视图;

       20210602150625206.png                        

2.核心控制器其实就是一个Servlet,只不过这个Servlet是由SpringMVC框架提供的,不需要自己写,只需要配置,交给容器去管理。在web.xml配置核心控制器(容器启动时就创建sevlet实例对象,并加载classpath下的一个名为spring-mvc.xml文件);

2021060215063218.png

3.4.准备SpringMVC配置文件

SpringMVC是Spring的一个模块,它的配置文件和Spring的配置差不多,复制一份applicationContext.xml修改为spring-mvc.xml;

3.5.编写请求处理控制器Controller

1.SpringMVC中的控制器与以前我们以前学习的servlet作用一样:处理用户请求、调用业务逻辑、响应请求即返回结果视图;

2.SpringMVC中的控制器有一定规范,要么实现接口,要么使用POJO对象与注解配合使用;

20210602150719644.png

public class HelloController implements Controller{
  public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    //获取请求参数
    //参数验证
    //调用service进行业务逻辑处理
    //返回jsp页面视图
    return null;
  }
}

3.6.添加处理请求代码

20210602150819608.png

handleRequest方法的两个参数与我们以前的servlet中service方法一样,request和response对象,我们可以使用这个两个对象完成一次请求的所有工作,比如你可以使用request接受参数,或者使用response重定向等等,注意方法除了返回值以外还有一个返回值ModelAndView;

ModelAndView是SpringMVC控制器中特有一个对象,描述一次请求响应的数据(Model)和 视图(View);

20210602150828753.png

3.7.编写页面

20210602150836691.png

3.8.配置我们的控制器

  SpringMVC是基于Spring,Spring中的核心就是Ioc容器,而Ioc容器中最重要的成员就是<bean>,SpringMVC中的控制器也是一个一个<bean>;


20210602151137142.png

3.9.访问

访问:http://localhost/helloworld

20210602151146799.png

注意:如果你的配置为*.form,并且,访问路径为: http://localhost/helloworld.form

javaweb实训第五天下午——SpringMVC基础(2)https://developer.aliyun.com/article/1415104?spm=a2c6h.13148508.setting.17.6e1a4f0eQzpjQW

目录
相关文章
|
6月前
|
XML JSON JavaScript
javaweb实训第六天上午——JSON&SpringMVC进阶(1)
1.课程介绍 JSON; (了解) SpringMVC返回JSON; (掌握) SpringMVC文件上传、下载; (掌握) SpringMVC拦截器; (掌握) SpringMVC执行流程; (掌握) 2.JSON 2.1.JSON概述
77 0
|
6月前
|
JSON 前端开发 Java
javaweb实训第五天下午——SpringMVC基础(4)
7.3.向页面传值 传递数据就是Controller往前台(页面)传递数据;
77 0
|
6月前
|
前端开发 Java 应用服务中间件
|
6月前
|
JSON 前端开发 Java
javaweb实训第六天上午——JSON&SpringMVC进阶(2)
5.SpringMVC拦截器 5.1.创建拦截器
81 0
|
6月前
|
JSON Java 数据格式
javaweb实训第五天下午——SpringMVC基础(3)
7.控制器常用操作 控制器除了处理请求并返回视图以外,还需要一些事情,比如接收页面请求参数、绑定数据到页面、返回json数据、文件上传、文件下载等;
55 0
|
XML 前端开发 JavaScript
【知识】了解Web、JavaWeb、SpringMVC、SpringBoot
【知识】了解Web、JavaWeb、SpringMVC、SpringBoot
252 0
|
存储 前端开发 Java
JavaWeb - Spring容器 & SpringMVC容器 & Web容器的关系
JavaWeb - Spring容器 & SpringMVC容器 & Web容器的关系
255 0
JavaWeb - Spring容器 & SpringMVC容器 & Web容器的关系
|
6月前
|
设计模式 前端开发 JavaScript
Spring MVC(一)【什么是Spring MVC】
Spring MVC(一)【什么是Spring MVC】
|
5月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
77 1
下一篇
无影云桌面