SpringMVC框架的注解如何使用?
SpringMVC 注解的方式
- @Controller
- @RequestMapping
- @SessionAttributes
案例实操
@Controller 控制器定义
在 spring 3.0 中,通过@controller 标注即可将 class 定义为一个 controller 类。为使 springMVC 能找到定义为 controller 的 bean,需要在 servlet-context 配置文件中增加
如下定义:
<context:component-scan base-package="com.xxx.controller"/>
注:实际上,使用@Component,也可以起到@Controller 同样的作用。
@RequestMapping
在类前面定义,则将 url 和类绑定。
在方法前面定义,则将 url 和类的方法绑定
//url: http://localhost:8080/springmvc01/hello2/test01.do @RequestMapping("test01") public ModelAndView test01(){ ModelAndView mv=new ModelAndView(); mv.setViewName("hello"); mv.addObject("hello", "hello test01"); return mv; } //url: http://localhost:8080/springmvc01/hello2.do?test01 @RequestMapping(params="test02") public ModelAndView test02(){ ModelAndView mv=new ModelAndView(); mv.setViewName("hello"); mv.addObject("hello", "hello test02"); return mv; } //url: http://localhost:8080/springmvc01/hello2/test03.do @RequestMapping("test03") public String test03(Model model){ model.addAttribute("hello", "hello test03"); return "hello"; } //url: http://localhost:8080/springmvc01/hello2/test04.do @RequestMapping("test04") public String test04(ModelMap modelMap){ modelMap.addAttribute("hello", "hello test04"); return "hello"; } //url: http://localhost:8080/springmvc01/hello2/test05.do @SuppressWarnings("unchecked") @RequestMapping("test05") public String test05(Map model){ model.put("hello", "hello test05 "); return "hello"; }
@SessionAttributes
用于声明 session 级别存储的属性,放置在处理器类上(了解)
@Controller 6690 @SessionAttributes({"userName"})// userName 放入 session public class UserController { @RequestMapping("/queryUser") public ModelAndView queryUser(String userName){ ModelAndView mv=new ModelAndView(); mv.addObject("userName", userName); mv.setViewName("user"); return mv; } }
页面取值
<body> ${sessionScope.a}|||${sessionScope.b} </body>
扩展~常见 MVC 框架比较
运行性能上:
Jsp+servlet>struts1>spring mvc>struts2+freemarker>struts2,ognl, 值栈。
开发效率上,基本正好相反。值得强调的是,spring mvc 开发效率和 struts2 不相上下,但从目前来看,spring mvc 的流行度已远远超过 struts2。
let>struts1>spring mvc>struts2+freemarker>struts2,ognl, 值栈。
开发效率上,基本正好相反。值得强调的是,spring mvc 开发效率和 struts2 不相上下,但从目前来看,spring mvc 的流行度已远远超过 struts2。
Struts2 的性能低的原因是因为 OGNL(一种表达式语言,通过它简单一致 的表达式语法,可以存取对象的任意属性,调用对象的方法,结合 struts2 框架使用)和值栈(简单理解为存放 struts2 action 的堆栈)造成的。所以,如果系统并发量高,可以使用 freemaker 进行显示,而不是采用 OGNL 和值栈。这样,在性能上会有相当大得提高。
- SSM框架如何在普通类里使用注解
- SSM框架——SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法
- springmvc框架的项目,如何在controller中使用dao访问数据库
- JAVAWEB开发之SpringMVC详解(一)——SpringMVC的框架原理、架构简介、与mybatis整合和注解方式的使用、
- SSM框架——SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法
- SpringMvc如何学习框架技术? 就像如上的图示一样,先掌握新技术的体系流程图。在快速弄明白程序执行流程后,在使用过程中 了解细节。
- SpringMVC框架使用注解执行定时任务
- JAVA_WEB项目之三大框架中不使用HibernateTemplate而使用SessionFactory以及如何使用注解
- Java,SpringSecurity安全框架的简单使用及如何配置文件,权限角色管理,登录失败处理器,登录成功处理器,BCrypt加密法,权限控制注解,权限角色控制表
- SSM框架——SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法
- 如何使用springmvc框架在普通的servlet注入service
- SpringMVC框架使用注解执行定时任务
- SpringMVC框架使用注解执行定时任务(转)
- JAVAWEB开发之SpringMVC详解(一)——SpringMVC的框架原理、架构简介、与mybatis整合和注解方式的使用、
- 基于注解的SpringMVC验证框架的使用
- SpringMvc中如何使用验证框架
- SpringMVC框架学习 day01 SpringMVC的入门案例与RequestMapping注解使用
- SpringMVC的搭建及其注解使用(下面会有完整到介绍怎么搭建,不包含mybatis到整合.后续会出整合mybatis框架)
- spring使用注解方式该如何在框架外获取注入?
- 如何在SpringMVC框架中利用Java反射机制和Javassist实现Java对象、属性、注解的动态创建生成