Sping-MVC
来源:互联网 发布:中学生网络教学 编辑:程序博客网 时间:2024/04/24 03:21
Spring-mvc
1、什么是spring-mvc
基于spring的一个框架
2、什么是mvc------一个个设计模式
首先请求发送request请求到C(control 接收用户请求响应用户) 然后控制器到M模型(pojo、action、service、dao)层处理 处理结果完了返回控制器 控制器要经过视图渲染 最后返回终端(response)
3、spring-mvc怎么运行的
1、浏览器向spring发出请求,请求交给前段控制器DispatcherServlet处理,
2、处理器通过HandlerMapping找到相对应的Controller组件处理请求
3、执行Controller组件约定方法处理请求,在约定方法调用模型组件完成业务处理。约定方法可以返回一个ModelAndView
对象,封装了处理结果数据和视图信息
4、控制器接受ModelAndView之后,调用ViewResolver组件,定位View(JSP) 并传递信息,生成响应界面结果
spring-mvc的配置
1、前端控制器
2、配置HandderMapping、Controller、ViewResolover
3、Controller中返回一个ModelAndView
spring-mvc注解
1、@RequestMapping 可以用在方法和类上,(类上的可以不写)
需要在配置文件中配置两个Bean、
1、可以获取表单的参数,并且可以实现数据类型的自动的转换,但是在转化的过程中,可能出现数据转换异常
方法名(@RequestParam 数据类型 参数名, @RequestParam 数据类型 参数名)
2、如果表单属性和参数名一样。不写注解也可以
当一个对象的属性和表单中的参数一致的时候,那么Controller组件
中的方法中,获取表单的参数值的时候,可以直接由对象获取到,
也就是说,在方法中将这个对象传入。
向页面传值
1.HttpServletRequest 和Session
setAttribute();
2.ModelAndView(String name,Map)
Controller 中的方法,返回值是ModelAndView。
mv.addObject(String name, Object obj)
实现数据绑定
3.ModelMap
addAttribute(String name,Object obj);
实现数据绑定,底层也是通过HttpServletRequest对象传递数据到
JSP页面的。
4.注解的数据绑定
@ModeAttribute("")作用在方法的参数上或者是bean的属性上
重定向视图
Spring MVC默认采用转发方式定位视图,如果需要重定向方式可采用下面几种方法
1、使用RedirectView Controller方法的返回值必须是modelandview类型的
RedirectiView view new RedirectView("请求action路径/jsp路径");
ModelAndView mv=new ModelAndView(view);
2、使用redirect:前缀 controller方法的返回值必须是String类型的
redirect:路径 ---请求路径/jsp路径
spring-mvc中乱码解决方式
注意:表单提交方式为post、过滤器的编码格式要和页面的编码格式保持一致
使用拦截器实现登录检查
1、拦截器必须实现HandlerInterceptor接口,这个接口有以下三个方法preHandle(..)
处理器执行前被调用。方法返回true表示会继续调用其他拦截器和处理器;返回false表示中断流程,不会执行后续拦截器和处理容器
postHandle(..)
处理器执行后、视图处理前调用。此时可以通过modelAndView对象对模型数据进行处理或对视图进行处理
afterCompletion(..)
整个请求处理完毕后调用,如性能监控中我们可以在此记录结束时间并输出消耗时间,还可以进行一些资源清理。只有preHandle返回true时才会执行afterCompletion方法
在容器配置文件中配置
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/day04/*"/>
<mvc:exclude-mapping path="/login/*"/>
<bean class="com.demo.interceptor.SomeInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
- sping mvc
- sping mvc
- sping mvc
- Sping-MVC
- sping mvc
- Sping MVC的配置
- sping mvc mail
- Sping MVC的配置
- Sping MVC 入门
- 9Sping MVC注解
- Sping MVC知识点总结
- 简单模拟Sping MVC
- 学习Sping MVC模式
- 简单模拟Sping MVC
- sping mvc @RequestBody 415
- Sping MVC Controller注解优化
- Spring + Sping MVC +Hibernate 整合
- Sping MVC 自动转换 AnnotationMethodHandlerAdapter
- 剪格子
- 在 POSIX 线程编程中避免内存泄漏
- 51nod 1277 字符串中的最大值
- 140UVa带宽
- 查找(一)史上最简单清晰的红黑树讲解
- Sping-MVC
- TCP协议-TCP服务特点和头部结构
- 错误票据
- 翻硬币
- Java动态代理与CGLIB
- GreenDao的使用以及一些细节的总结
- 正则表达式速查表
- Java初学者之最新最简单JDK环境配置篇
- C++初级,想问一下下之,学VC++和Linux C++哪个好