springbootEE读书笔记(2) Spring和SpringBoot基础 之 SpringMVC基础
1、Springmvc
MVC:Model + View + Controller (数据模型 + 试图 + 控制器)
三层架构: Presentation tier + Application tier + Data tier (展现层 + 试图 + 控制层)
2、Servlet3.0 在SpringMVC里实现WebApplicationInitializer接口便等同于web.xml
3、json和xml
// 直接返回对象,对象会自动转换为xml@RequestMapping(value = "/getXml",produces = {"application/xml;charset=UTF-8"})@RequestBodypublic DemoObj getXml(DemoObj obj) {return new DemoObj(obj.getId + 1, obj.getName() + "yy");}
前台访问后显示xml
2 xxyy
4、静态资源映射
使用@EnableWebMvc开启SpringMVC支持,若无此句,重写WebMvcConfigurerAdapter无效
addResourceLocations 指的是文件放置的目录,addResourceHandler 指的是对外暴露的访问路径
5、拦截器配置
Interceptor:实现对一个请求处理前后进行相关的业务处理,类似Servlet的filter
通过继承HandlerInterceptor 类来实现自定义拦截器
1)重写preHandler 方法,在请求发生前执行
2)重写postHandler 方法,在请求完成后执行
可实现访问请求路径,获取请求时长
重写addInterceptor,注册拦截器
@Bean
public DemoInterceptor demoInterceptor() {return new DemoInterceptor();
}@Override
public void addInterceptors (InterceptorRegistry registry) {registry.addInterceptor(demoInterceptor);
}
6、路径参数配置
路径参数如果带“.”的话, 点后面的值将会被忽略
通过重写configurePathMatch 方法可不忽略“.”后面的参数
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {configurer.setUseSuffixPatternMatch(false);
}
7、springmvc的高级配置
1)上传文件配置
通过MultipartFile file来接收文件, 通过MultipartFile[] files接收多个文件上传
jsp中
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody String upload(MultipartFile file) {FileUtils.writeByteArrayToFile(new File("e:/upload/" + file.getOriginalFilename()), file.getBytes);return "ok";
}
FileUtils.writeByteArrayToFile 快速写文件到磁盘
2)继承abstractHttpMessageConverter接口实现自定义的HttpMessageConverter, 可以自定义媒体类型进行请求
3)SSE Server Send Event 服务端发送事件
媒体类型 text/event-stream,这是服务器端SSE的支持
4)TDD 测试驱动开发
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
