文章目录
- 1、springmvc
- 1.1、@RequestBody自定义格式传参(浏览器往服务器传)
- 1.2、@ResponseBody自定义格式传参(服务器往浏览器传)
- 1.2、传递json
- 1.2.1、请求
- 1.2.2、响应
- 1.3、json里面带日期
- 1.4、校验数据(jsr303)
- 1.4.1、把校验规则写到配置文件里
- 1.4.2、校验分组
- 1.4.3、自定义jsr303注解
- 1.5、jsp引入的格式化标签
- 1.6、文件上传
- 1.7、拦截器
- 2、jdk、jre、jvm
- 3、BeanFactory和FactoryBean的区别
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的实现加上了一个简单工厂模式和装饰模式