java学习简单笔记20190228
2019-03-01 10:02 lofe 阅读(247) 评论(0) 编辑 收藏 举报Spring MVC相当于三层架构中的表现层面,有model,view,controller组成一个数据展示系统,model装载数据,view展现,controller组织取数据
依赖的maven引用,
eclips简单项目waj包形式创建通用的web Maven项目。
在配置类中@EnableWebMvc开启默认配置,ViewResolver接口,是视图解析器,是spring mvc的视图核心,实现接口的view可使用model,request,response对象。
在项目中新建路径/WEB-INF/classess/views/这是spring boot框架使用的目录,因为视图在通过编译后会放到类路径下面,在配置mvc访问映射时使用
spring mvc常用注解@Controller,@RequestMapping,@ResponseBody,@PathVariaible,@RestController;
其中@RequestMapping,映身url请求路径和对象方法对应,注解后,在方法的参数中可以使用请求的Request,response,对象,也支持返回对象的类型,producs=”application/json;charset=utf-8"等的标注
@RequestMapping("xxxx",produces="text/plain;charset=utf-8")
@ResponseBody表示这个请求的返回值不是视图,有可能是xml,json,文本等,按配置的@requestmapping对象类型返回。
@RestController是一个组合注解,是@Controller+@ResponseBody的组合。
Spring Boot项目静态源如图片,css,js文件,都放在项目的src/mai/resources下新建文件夹,配置类继续WebMvcConfigurerAdapter适配器,重写addResourceHandlers(registry)
来配置访问路径,registry.addResourceHandler("/assets/**").addResourceLocation("classpath:/xxx/xx"),其中addResourceHandler表示可外部访问的路径,**双星号指路径下面的所有文件,包括子文件夹里的,而addResourceLocations表求外部访问时与本地内部真实的的文件路径映射
拦截器Interceptor,有点类似于过滤器Filter,它是在执行方法前后执行处理,继续适配器HandlerInterceptorAdapter,并重写preHandler之前执行,postHandler之后执行,在WebMvcConfigur配置类中重写addInterceptors方法并注删它,registory.addIntercepter(new 拦截器());