SpringMVC框架的注解如何使用?

SpringMVC 注解的方式

  • @Controller
  • @RequestMapping
  • @SessionAttributes

案例实操

@Controller 控制器定义

在 spring 3.0 中,通过@controller 标注即可将 class 定义为一个 controller 类。为使 springMVC 能找到定义为 controller 的 bean,需要在 servlet-context 配置文件中增加

如下定义:

 

注:实际上,使用@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 

@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; 

    } 

} 

页面取值

 

    ${sessionScope.a}|||${sessionScope.b} 

 

扩展~常见 MVC 框架比较

运行性能上:

Jsp+servlet>struts1>spring mvc>struts2+freemarker>struts2,ognl, 值栈。

开发效率上,基本正好相反。值得强调的是,spring mvc 开发效率和 struts2 不相上下,但从目前来看,spring mvc 的流行度已远远超过 struts2。

Struts2 的性能低的原因是因为 OGNL(一种表达式语言,通过它简单一致 的表达式语法,可以存取对象的任意属性,调用对象的方法,结合 struts2 框架使用)和值栈(简单理解为存放 struts2 action 的堆栈)造成的。所以,如果系统并发量高,可以使用 freemaker 进行显示,而不是采用 OGNL 和值栈。这样,在性能上会有相当大得提高。

帮助文档

快捷键

目录

标题

文本样式

列表

链接

代码片

表格

注脚

注释

自定义列表

LaTeX 数学公式

插入甘特图

插入UML图

插入Mermaid流程图

插入Flowchart流程图

插入类图

快捷键

Markdown

图标

快捷键

撤销

Ctrl /⌘+Z

重做

Ctrl /⌘+Y

加粗

Ctrl /⌘+B

斜体

Ctrl /⌘+I

标题

Ctrl /⌘+Shift +H

有序列表

Ctrl /⌘+Shift +O

无序列表

Ctrl /⌘+Shift +U

待办列表

Ctrl /⌘+Shift +C

插入代码

Ctrl /⌘+Shift +K

插入链接

Ctrl /⌘+Shift +L

插入图片

Ctrl /⌘+Shift +G

查找

Ctrl /⌘+F

替换

Ctrl /⌘+G

SpringMVC 注解的方式

案例实操

@Controller 控制器定义

@RequestMapping

@SessionAttributes

扩展~常见 MVC 框架比较

你可能感兴趣的