JAVAEE复习(第五部分)

第5部分 SpringMVC

第10章 初识Spring MVC框架

01.Spring MVC介绍

三层架构
表现层(Web层)
负责接收客户端请求,并向客户端响应结果
业务层(Service层)
负责业务逻辑处理,和项目需求息息相关
持久层(Dao层)
负责和数据库交互,对数据库进行增删改查

在这里插入图片描述
Spring MVC的特点
在这里插入图片描述
在这里插入图片描述
02.Spring MVC入门程序
步骤
1.创建项目
2.引入Maven依赖
3.配置前端控制器(拦截客户端的请求并转发)
在这里插入图片描述
4.配置处理器映射信息和视图解析器(spring-mvc.xml)
在这里插入图片描述
5.创建处理器(处理客户端的请求并指定响应时跳转的页面)
在这里插入图片描述
6.创建视图(View)页面
在项目的Web-INF文件夹下创建名称为page的文件夹,并在page文件夹下创建名称为success的jsp文件,用于对客户端请求进行处理后的视图展示。

<html>
	<body>
		<h2>Spring MVC FirstController!</h2>
	</body>
</html>

7.启动项目,测试应用
访问地址为http://localhost:8080/chapter10/firstController,访问后,控制台打印信息“访问到FirstController!”,并且浏览器跳转到success.jsp页面中。

03.Spring MVC工作原理

Spring MVC三大组件
处理器映射器
处理器适配器
视图解析器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第11章 Spring MVC的核心类和注解

01.DispatcherServlet
Spring MVC前端控制器

本质是一个Servlet,可以在web.xml文件中完成它的配置和映射

web.xml中对DispatcherServlet的配置分为两个方面。
一是配置Spring MVC的前端控制器
二是配置映射的URL路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
02.@Controller注解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
03.@RequestMapping注解
作用:用于建立请求URL和Handler(处理器)之间的映射关系,该注解可以标记在方法上和类上。
1.标记在方法上
在这里插入图片描述
例如:
在这里插入图片描述
在这里插入图片描述
2.标记在类上
在这里插入图片描述
例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
@RequestMapping注解的属性
在这里插入图片描述
value属性的两种映射路径标注
在这里插入图片描述

在这里插入图片描述

method属性限定处理器映射
在这里插入图片描述
例如:
在这里插入图片描述
在这里插入图片描述

请求映射方式
基于请求方式的URL路径映射
基于Ant风格的URL路径映射
基于REST风格的URL路径映射

1.基于请求方式的URL路径映射

除了可以使用@RequestMapping注解来限定客户端的请求方式之外,从Spring 4.3版本开始,还可以使用组合注解完成客户端请求方式的限定。组合注解简化了常用的HTTP请求方式的映射,并且更好的表达了被注解方法的语义。
在这里插入图片描述
在这里插入图片描述

2.基于Ant风格的URL路径映射
通配符风格
?——匹配任何单字符
* ——匹配0或者任意数量的字符
** ——匹配0或者多级目录
在这里插入图片描述

在这里插入图片描述

3.基于RESTful风格的URL路径映射
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第12章 Spring MVC数据绑定和响应

01.数据绑定
数据绑定的概念
在程序运行时,Spring MVC接收到客户端的请求后,会根据客户端请求的参数和请求头等数据信息,将参数以特定的方式转换并绑定到处理器的形参中。Spring MVC中将请求信息数据与处理器的形参建立连接的过程就是Spring MVC的数据绑定。
过程图
在这里插入图片描述
信息处理过程
在这里插入图片描述
02.简单数据绑定
Spring MVC常见的默认类型
1.HttpServletRequest:通过request对象获取请求信息
2.HttpServletResponse:通过response对象获取响应信息
3.HttpSession:通过session对象得到session中存放的对象
4.Model/ModelMap:Model是一个接口,ModelMap是一个类,Model的实现类对象和ModelMap对象都可以设置model数据,model数据会填充到request域。
默认类型数据绑定
例如:
在这里插入图片描述
简单数据绑定的概念
指Java中基本类型(如int、double、String等)的数据绑定。在Spring MVC中进行简单类型的数据绑定,只需客户端请求参数的名称和处理器的形参名称一致即可,请求参数会自动映射并匹配到处理器的形参完成数据绑定。
例如:
在这里插入图片描述
参数别名的设置:
需要注意的是,有时候客户端请求中参数名称和处理器的形参名称不一致,这就会导致处理器无法正确绑定并接收到客户端请求中的参数。为此,Spring MVC提供了 @RequestParam 注解来定义参数的别名,完成请求参数名称和处理器的形参名称不一致时的数据绑定。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
POJO绑定
就是将所有关联的请求参数封装在一个POJO中,然后再方法中直接使用该POJO作为形参来完成数据绑定。
在这里插入图片描述

中文乱码问题
在这里插入图片描述

自定义类型转换器
Spring框架提供了Converter接口作为类型转换器,开发着可以通过实现Converter接口来自定义类型转换器。
例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
日期类型的格式转换
1.基于XML配置自定义转换器实现
2.通过@DateTimeFormat注解(定义在方法的形参前面或成员变量上方)
03.复杂数据绑定
1.数组绑定
在这里插入图片描述
2.集合绑定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.复杂POJO绑定
1)属性为对象类型的数据绑定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在复杂POJO数据绑定时,如果数据需要绑定到POJO属性对象的属性中,客户端请求的参数名(本例中指form表单内各元素name的属性值)的 格式必须为“属性对象名称.属性”,其中“属性对象名称”要和POJO的属性对象名称一致,“属性”要和属性对象所属类的属性一致。

2)属性为List类型的数据绑定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3)属性为Map类型的数据绑定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
消息转换器——HttpMessageConverter接口
在这里插入图片描述
JSON数据绑定
1.在项目的pom.xml文件中导入Jackson的依赖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
04.页面跳转
1.返回值为void类型的页面跳转
当Spring MVC方法的返回值为void类型,方法执行后会跳转到默认的页面。默认页面的路径由方法映射路径和视图解析器中的前缀、后缀拼接成,拼接格式为“前缀+方法映射路径+后缀”。如果Spring MVC的配置文件中没有配置视图解析器,则会报HTTP Status 500错误。
2.返回值为String类型的页面跳转
1)不携带数据页面跳转
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2)携带数据的跳转页面
使用Model传递数据
在这里插入图片描述
3.返回值为ModelAndView类型的页面跳转
在这里插入图片描述
在这里插入图片描述

setViewName()方法和setView()方法都是为ModelAndView对象设置视图的方法,其中前者使用更方便。后3个方法都是向ModelAndView对象中添加模型数据的,其中
addObject(String attributeName, Object attributeValue)方法可以在页面上以${attributeName}方式取出attributeValue。

例如:
在这里插入图片描述

05.数据回写
1.普通字符串的回写
在这里插入图片描述
2.JSON数据的回写
对象数据转换成JSON数据后的回写
在这里插入图片描述

在这里插入图片描述
使用@ResponseBody注解的两个要求
1.项目中有转换JSON相关的依赖
2.可以配置转换JSON数据的消息类型转换器

在这里插入图片描述

第13章 Spring MVC的高级功能

01.异常处理
1)简单异常处理器
HandlerExceptionResolver接口
Spring MVC内部提供了HandleExceptionResolver的实现类SimpleMappingExceptionResolver。它实现了简单的异常处理,通过该实现类可以将不同类型的异常映射到不同的页面,当发生异常的时候,实现类根据发生的异常类型跳转到指定的页面处理异常信息。
例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建这些异常处理页面
在这里插入图片描述
2)自定义异常处理器
resolveException()方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3)异常处理注解
@ControllerAdvice注解
作用:
1.注解作用在类上时可以增强Controller,对Controller中被@RequestMapping注解标注的方法加一些逻辑处理。
2.@ControllerAdvice注解结合方法型注解@ExceptionHandler,可以捕获Controller中抛出的指定类型的异常,从而实现不同类型的异常统一处理。
在这里插入图片描述
在这里插入图片描述
02.拦截器

拦截器(Interceptor)是一种动态拦截Controller方法调用的对象,它可以在指定的方法调用前或者调用后,执行预先设定的代码。拦截器作用类似Filter(过滤器),但是它们的技术归属和拦截内容不同。Filter采用Servlet技术,拦截器采用Spring MVC技术;Filter会对所有请求进行拦截,拦截器只针对Spring MVC的请求进行拦截。

在这里插入图片描述
参考过滤器(Filter)和拦截器(Interceptor)的区别

拦截器的定义方式

  1. 通过实现HandlerInterceptor接口定义拦截器
  2. 通过继承 HandlerInterceptor接口的 实现类HandlerInterceptorAdapter ,定义拦截器

区别:直接实现HandlerInterceptor接口需要重写HandlerInterceptor接口的所有方法;而继承HandlerInterceptorAdapter类的话,允许只重写想要回调的方法。

示例:
在这里插入图片描述
preHandler()方法
在这里插入图片描述
postHandle()方法
在这里插入图片描述
afterCompletion()方法
在这里插入图片描述
配置自定义拦截器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第14章 SSM框架整合

SSM:Spring、Spring MVC、MyBatis
01.常用方式整合SSM框架
框架分工
MyBatis负责与数据库进行交互
Spring负责事务管理
Spring MVC负责管理表现层的Handler

项目基础结构搭建
1.搭建数据库环境
2.引入项目依赖
3.创建实体类
4.创建三层架构对应模块的类和接口

Spring和MyBatis整合
1.搭建Spring环境
2.整合MyBatis到Spring环境中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Spring和Spring MVC整合
在这里插入图片描述
在这里插入图片描述
02.纯注解方式整合SSM框架
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于JavaEE开发,Eclipse是一个非常流行的集成开发环境(IDE)。它为JavaEE开发者提供了丰富的功能和工具,使他们能够更轻松地构建和管理JavaEE应用程序。 在Eclipse中进行JavaEE开发,您可以使用Eclipse的JavaEE插件(通常称为Eclipse Enterprise Edition for JavaEE),它包含了一系列用于JavaEE开发的工具和模块。这些工具包括Servlet容器、JSP编辑器、EJB开发工具、数据库连接工具等等。 使用Eclipse进行JavaEE开发的步骤如下: 1. 安装Eclipse:您可以从Eclipse官方网站下载适合您操作系统的Eclipse版本,并按照安装指南进行安装。 2. 安装JavaEE插件:在Eclipse中,通过插件安装向导安装JavaEE插件。您可以在Eclipse的市场中搜索并安装适合您版本的JavaEE插件。 3. 创建JavaEE项目:在Eclipse中,可以通过菜单或快捷键创建新的JavaEE项目。选择适当的项目类型(如Dynamic Web Project、EJB Project等),并按照向导进行项目配置。 4. 开发和调试代码:在Eclipse中,您可以使用内置的编辑器编写JavaEE代码,使用调试器进行调试,并利用各种工具和视图来构建和测试您的应用程序。 5. 部署和运行应用程序:完成代码的开发和调试后,您可以将您的JavaEE应用程序部署到适当的服务器上,并启动服务器以运行您的应用程序。 当然,这只是一个简要的介绍。对于JavaEE开发,Eclipse还提供了许多其他功能和工具,如代码自动完成、版本控制、构建工具集成等等。 希望这能帮助到您!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值