文章目录
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的实现加上了一个简单工厂模式和装饰模式
本文深入探讨SpringMVC框架的高级应用,包括自定义@RequestBody和@ResponseBody参数处理、JSON数据交互、日期格式化、数据校验、文件上传及拦截器设置等。通过实例展示如何在SpringMVC中实现定制化的数据传输与处理。
3262

被折叠的 条评论
为什么被折叠?



