springmvc总结
来源:互联网 发布:美发修改软件 编辑:程序博客网 时间:2024/06/05 01:55
1 dispather就是springmvc的指挥官,完成请求处理 并返回处理结果
2@Controller的注解,该注解在SpringMVC 中,负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。
3 @PathVariable和@RequestParam 对于像“springmvc/testPathVariable/1”这样的请求,我们通过@PathVariable来绑定请求的参数;而对于类似“springmvc/testRequestParam?username=jackie&age=12”这样的请求参数是以键值对出现的
4 @RequestHeader注解来获取。 请求如get请求或post都有请求头和响应头
5 一个对象就是一个POJO。 只要类名写正确就可以实现 整体传值
6 @ResponseBody和@ResponseEntity 我们很多时候只需要返回数据即可,而不是一个JSP页面
7 拦截器 (在调用的过程中进行二次处理)
boolean preHandle 使用时机:在处理请求之前
应用场景:可以在该方法中放入一些初始化的操作,比如权限验证,日志管理等
void postHandle
使用时机:在调用目标方法之后,渲染视图之前被调用。具体来说,是在调用了Controller中定义的方法之后,但在DispatcherServlet 处理视图返回渲染结果之前被调用。
应用场景:根据使用的时机就可以知道,该方法可以对Controller处理之后ModelAndView进行操作
afterCompletion 使用时机:渲染视图之后
应用场景:释放资源
8 Spring框架是由于软件开发的复杂性而创建的。
9 Handler处理器执行后结果 是ModelAndView,具体开发时Handler返回方法值类型包括 :ModelAndView、String(逻辑视图名)、void(通过在Handler形参中添加request和response,类似原始 servlet开发方式,注意:可以通过指定response响应的结果类型实现json数据输出
10 <!--注解映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!--注解适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
在实际开发,使用<mvc:annotation-driven>代替上边处理器映射器和适配器配置。
11 如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。
12 @RequestBody将json串转成java对象 @ResponseBody将java对象转成json串输出
13 RESTful(即Representational State Transfer的缩写)其实是一个开发理念,是对http的很好的诠释。
1 非REST的url:http://...../queryItems.action?id=001&type=T01
REST的url风格:http://..../items/001
特点:url简洁,将参数通过url传到服务端
2、http的方法规范
不管是删除、添加、更新。。使用url是一致的,如果进行删除,需要设置http的方法为delete,同理添加。。。
后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加。
3、对http的contentType规范
请求时指定contentType,要json数据,设置成json格式的type。。
14 拦截器
定义拦截器,实现HandlerInterceptor接口。
preHandle方法按顺序执行,
postHandle和afterCompletion按拦截器配置的逆向顺序执行。
1 preHandle//进入 Handler方法之前执行
//用于身份认证、身份授权
//比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行 //return false表示拦截,不向下执行//return true表示放行
2 postHandle//进入Handler方法之后,返回modelAndView之前执行
//应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里统一指定视图
3 postHandle //执行Handler完成执行此方法
//应用场景:统一异常处理,统一日志处理
505
15 通过<context:component-sqpan>使spring 扫描此保下面的所有的类,让spring注解的类生效
16Ant 风格(? * 等)
17 通过@RequestParam对简单类型的参数进行绑定。
如果不使用@RequestParam,要求request传入参数名称和controller方法的形参名称一致,方可绑定成功。
18 @RequestBody将j以将方法的返回值传到页面
19 @ModelAttribute
// 商品分类
//itemtypes表示最终将方法返回值放在request中的key
@ModelAttribute("itemtypes")
public Map<String, String> getItemTypes() {
Map<String, String> itemTypes = new HashMap<String, String>();
itemTypes.put("101", "数码");
itemTypes.put("102", "母婴");
return itemTypes;
}
页面 ${itemtypes}接收
20 异常
系统的dao、service、controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理
只要实现了这个HandlerExceptionResolver借口就是全局异常处理器
2@Controller的注解,该注解在SpringMVC 中,负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。
3 @PathVariable和@RequestParam 对于像“springmvc/testPathVariable/1”这样的请求,我们通过@PathVariable来绑定请求的参数;而对于类似“springmvc/testRequestParam?username=jackie&age=12”这样的请求参数是以键值对出现的
4 @RequestHeader注解来获取。 请求如get请求或post都有请求头和响应头
5 一个对象就是一个POJO。 只要类名写正确就可以实现 整体传值
6 @ResponseBody和@ResponseEntity 我们很多时候只需要返回数据即可,而不是一个JSP页面
7 拦截器 (在调用的过程中进行二次处理)
boolean preHandle 使用时机:在处理请求之前
应用场景:可以在该方法中放入一些初始化的操作,比如权限验证,日志管理等
void postHandle
使用时机:在调用目标方法之后,渲染视图之前被调用。具体来说,是在调用了Controller中定义的方法之后,但在DispatcherServlet 处理视图返回渲染结果之前被调用。
应用场景:根据使用的时机就可以知道,该方法可以对Controller处理之后ModelAndView进行操作
afterCompletion 使用时机:渲染视图之后
应用场景:释放资源
8 Spring框架是由于软件开发的复杂性而创建的。
9 Handler处理器执行后结果 是ModelAndView,具体开发时Handler返回方法值类型包括 :ModelAndView、String(逻辑视图名)、void(通过在Handler形参中添加request和response,类似原始 servlet开发方式,注意:可以通过指定response响应的结果类型实现json数据输出
10 <!--注解映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!--注解适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
在实际开发,使用<mvc:annotation-driven>代替上边处理器映射器和适配器配置。
11 如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。
12 @RequestBody将json串转成java对象 @ResponseBody将java对象转成json串输出
13 RESTful(即Representational State Transfer的缩写)其实是一个开发理念,是对http的很好的诠释。
1 非REST的url:http://...../queryItems.action?id=001&type=T01
REST的url风格:http://..../items/001
特点:url简洁,将参数通过url传到服务端
2、http的方法规范
不管是删除、添加、更新。。使用url是一致的,如果进行删除,需要设置http的方法为delete,同理添加。。。
后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加。
3、对http的contentType规范
请求时指定contentType,要json数据,设置成json格式的type。。
14 拦截器
定义拦截器,实现HandlerInterceptor接口。
preHandle方法按顺序执行,
postHandle和afterCompletion按拦截器配置的逆向顺序执行。
1 preHandle//进入 Handler方法之前执行
//用于身份认证、身份授权
//比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行 //return false表示拦截,不向下执行//return true表示放行
2 postHandle//进入Handler方法之后,返回modelAndView之前执行
//应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里统一指定视图
3 postHandle //执行Handler完成执行此方法
//应用场景:统一异常处理,统一日志处理
505
15 通过<context:component-sqpan>使spring 扫描此保下面的所有的类,让spring注解的类生效
16Ant 风格(? * 等)
17 通过@RequestParam对简单类型的参数进行绑定。
如果不使用@RequestParam,要求request传入参数名称和controller方法的形参名称一致,方可绑定成功。
18 @RequestBody将j以将方法的返回值传到页面
19 @ModelAttribute
// 商品分类
//itemtypes表示最终将方法返回值放在request中的key
@ModelAttribute("itemtypes")
public Map<String, String> getItemTypes() {
Map<String, String> itemTypes = new HashMap<String, String>();
itemTypes.put("101", "数码");
itemTypes.put("102", "母婴");
return itemTypes;
}
页面 ${itemtypes}接收
20 异常
系统的dao、service、controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理
只要实现了这个HandlerExceptionResolver借口就是全局异常处理器
0 0
- springMVC总结
- springmvc总结
- SpringMVC总结
- springMvc总结
- springmvc总结
- SpringMVC总结
- Springmvc总结
- springmvc总结
- SpringMVC总结
- SpringMVC总结
- SpringMVC总结
- springmvc总结
- SpringMVC总结
- springmvc总结
- springMVC总结
- SpringMVC总结
- SpringMVC总结
- springmvc 总结
- maybaiti总结
- laravel框架与其他框架的对比
- java 后端简历怎么写
- 关于Qt无法直接使用cout和cin的问题
- 读《深入jvm原理》之class文件
- springmvc总结
- Android输入系统
- 使用Android Studio 进行cocos2d-x开发入门全攻略(教程)
- 机器学习部分数学基础
- Linux命令之1--cd
- popupWindow 在title下面显示铺满的图片
- Unity3D Resources Load 资源加载测试
- Qt中使用cout, cin, cerr
- 推荐一个Python包thefuck