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