Spring MVC学习笔记02
2016-03-10 17:05
525 查看
1.常用注解
1.@Autowired,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。<!-- 该 BeanPostProcessor 将自动起作用,对标注 @Autowired 的 Bean 进行自动注入 --> <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
通过上面配置,当 Spring 容器启动时,AutowiredAnnotationBeanPostProcessor 将扫描 Spring 容器中所有 Bean,当发现 Bean 中拥有 @Autowired 注释时就找到和其匹配(默认按类型匹配)的 Bean,并注入到对应的地方中去。
对成员变量使用 @Autowired 后,大可将它们的 setter 方法(setCar() 和 setOffice())从 Boss 中删除。
2.@Controller,将class定义为一个controller类。
[b]3.@RequestMapping ,在控制器的类及方法定义处都可标注。映射规则包括:url、请求参数、请求方法和请求头。[/b]
4.@RequestParam,一般用于将指定的请求参数付给方法中形参。如果请求参数名称和形参名称保持一致,则不需要这种写法。
@RequestMapping(params="method=reg5") public String reg5(@RequestParam("name")String a,@RequestParam("password")String b) { System.out.println(a+b); return"index"; }
2.常见请求参数
@RequestMapping(value = "/index.html") public String loginPage1(@RequestParam("name")String a,@RequestParam("password")String b) { //使用@RequestParam绑定请求中的参数值 return "login"; } @RequestMapping(value = "/index.html") public String loginPage2(@CookieValue(value="sessionId",required=false) String sessionId) { //使用@CookieValue绑定请求中的Cookie值 return "login"; } @RequestMapping(value = "/index.html") public String loginPage3(@RequestHeader("Accept-Encoding") String encoding) { //使用@CookieValue绑定请求中报文头的属性值 return "login"; } @RequestMapping(value = "/index.html") public String loginPage4(User user) { //使用命令、表单对象绑定请求参数值 return "login"; } @RequestMapping(value = "/index.html") public String loginPage5(HttpServletRequest request,HttpServletResponse response,HttpSession session) { //使用Servlet API入参 return "login"; } @RequestMapping(value = "/index.html") public void loginPage6(OutputStream os)throws IOException { //使用IO对象作为入参 Resource res=new ClassPathResource("/a.jpg"); FileCopyUtils.copy(res.getInputStream(), os); }
3.Controller类中方法返回值的处理
1. 返回string(建议)a) 根据返回值找对应的显示页面。路径规则为:prefix前缀+返回值+suffix后缀组成
b) 代码如下:
@RequestMapping(params="method=reg4") public String reg4(ModelMap map) { System.out.println("HelloController.handleRequest()"); return"index"; } 前缀为:/WEB-INF/jsp/ 后缀是:.jsp 在转发到:/WEB-INF/jsp/index.jsp
2. 也可以返回ModelMap、ModelAndView、map、List、Set、Object、无返回值。一般建议返回字符串!
相关文章推荐
- JAVA学习篇--javaweb之Filter具体解释
- eclipse as android jni 和 ndk以及调用过程--tread
- JAVA关于时间的处理
- HDU 1250 Hat's Fibonacci (JAVA大数)
- 继承JPanel的类不显示
- Java开发中的23种设计模式详解
- 自定义的RPC的Java实现
- Java基础学习总结(51)——JAVA分层理解
- Java基础学习总结(51)——JAVA分层理解
- 【java-之路】序列化与反序列化对象
- java递归删除文件夹demo,删除文件目录例子
- java回调机制详解
- java时间戳与Date(String)相互转化
- Spring+dubbo+mybatis出现NoSuchMethodError和MutablePropertyValues.add异常
- Spring+dubbo+mybatis出现NoSuchMethodError和MutablePropertyValues.add异常
- java对cookie的操作
- 那些年spring声明式事务@Transaction的坑
- java实现大整数的四则运算
- java參数传递机制浅析
- maven插件部署java项目到远程容器