java 知识点 14(ssm:springMVC、@RequestBody、@ResponseBody、传json、校验、引入配置文件、文件上传、拦截器)

1、springmvc

1.1、@RequestBody自定义格式传参(浏览器往服务器传)

@RequestBody自定义格式传参(浏览器往服务器传,请求)
在这里插入图片描述

新建包、包下新建user.java
在这里插入图片描述
当前包下、新建UerController

在这里插入图片描述

1、在参数类型前不加@RequestBody,就会使用默认注入方式,也就是application/x-www-form-urlencoded,且必须为它。
2、在参数类型前加@RequestBody,就会使用HttpMessagerConverter来注入。

把spring-servlet.xml复制到当前包下,更改扫当前包
在这里插入图片描述

把web.xml里面的spring-servlet.xml改成当前的spring-servlet.xml
在这里插入图片描述
新建z.jsp(传递自定义的格式)
在这里插入图片描述

新建类UserHttpMessageConverter接收自定义的格式
(重写默认实现的三个方法,目前只用到了前两个)
在这里插入图片描述
在这里插入图片描述

修改spring-servlet.xml
在这里插入图片描述
在这里插入图片描述

访问、运行结果
在这里插入图片描述

1.2、@ResponseBody自定义格式传参(服务器往浏览器传)

@ResponseBody自定义格式传参(服务器往浏览器传,响应)

1、在控制器方法上加@ResponseBody注释以后,Springmvc框架就不会解析逻辑视图,不会跳转到物理视图。

2、上加@ResponseBody注释以后,会取出请求中的accept请求头的值(text/html),判断返回值类型是否归它管理,如果不归它管理就抛异常。(默认string归它管)
在这里插入图片描述
自定义accept类型,并返回
java类
在这里插入图片描述
页面代码
在这里插入图片描述
spring-servlet.xml
在这里插入图片描述
自定义类型转换器
在这里插入图片描述
在这里插入图片描述
上面是返回固定值,下面返回对应数据

现在web.xml里面添加过滤器
在这里插入图片描述
在这里插入图片描述

1.2、传递json

pom.xml,添加json相关包
在这里插入图片描述

1.2.1、请求

jsp (contentType里面就定义了类型为json类型)
在这里插入图片描述
java类
在这里插入图片描述
注意web.xml里面
在这里插入图片描述

1.2.2、响应

java类
在这里插入图片描述
jsp
在这里插入图片描述

1.3、json里面带日期

javabean user.java
在这里插入图片描述
jsp传json 带日期
在这里插入图片描述
添加自定义支持格式XXXX/XX/XX
spring-servlet.xml
在这里插入图片描述

org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

jsp
在这里插入图片描述

1.4、校验数据(jsr303)

1、搭建校验环境

pom.xml
在这里插入图片描述
spring-servlet.xml
在这里插入图片描述
修改web.xml加载当前spring-servlet.xml
在这里插入图片描述

user.java(这里写校验规则)
在这里插入图片描述
可以写的校验规则还有下面这些

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

控制器(@Valid标记注解,标记该数据需要校验)
在这里插入图片描述

表单
在这里插入图片描述

浏览器访问

name里面输入4个字母成功传递,输入1个字母,前端报错400
在这里插入图片描述
如果不想让前端报400,可以在控制器变量后面紧跟Errors

控制器:
在这里插入图片描述

还可以输出是哪个字段有错

在这里插入图片描述

jsp
在这里插入图片描述
访问
在这里插入图片描述

显示错误值(回显)
在这里插入图片描述

处理日期回显
在这里插入图片描述

1.4.1、把校验规则写到配置文件里

spring-servlet.xml配置资源文件
在这里插入图片描述
user.java
在这里插入图片描述
新建配置文件
在这里插入图片描述
创建多个资源文件(每个资源文件用不同国家的语言)
在这里插入图片描述
这里不用做其他配置,直要满足_en_US_ 这样的格式,浏览器会根据自己的请求头来拿对应的文件
也就是浏览器是英文就拿英文文件,是中文就拿中文文件
在这里插入图片描述

1.4.2、校验分组

先新建两个接口,这两个接口就是两个组的组名
在这里插入图片描述
在这里插入图片描述

再到user.java
在这里插入图片描述
控制器(使用第一组校验)

在这里插入图片描述

1.4.3、自定义jsr303注解

我们想要实现的功能,自定义jsr303注解校验id是否是质数。

新建注解前先新建一个注解处理器(java类)

在这里插入图片描述

新建一个注解

在这里插入图片描述
使用自定义注解

user.java
在这里插入图片描述
控制器也有变化
在这里插入图片描述
浏览器访问
在这里插入图片描述

1.5、jsp引入的格式化标签

在这里插入图片描述

1.6、文件上传

在pom.xml中导入fileupload包
在这里插入图片描述

jsp
在这里插入图片描述

控制器
在这里插入图片描述

这里需要注意jsp里的这两个名字必须一样
在这里插入图片描述

spring-servlet.xml(添加一个处理multipart的bean)
在这里插入图片描述

1.7、拦截器

创建一个java类
在这里插入图片描述
spring-servlet.xml
在这里插入图片描述
再写一个拦截器(复制MyInterceptor,新建一个MyInterceptor2)
spring-servlet.xml
在这里插入图片描述

在这里插入图片描述

2、jdk、jre、jvm

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

3、BeanFactory和FactoryBean的区别

BeanFactory是接口,提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范

FactoryBean也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值