springmvc学习笔记(六)注解优化
2015-08-22 09:31
786 查看
1.开启注解优化
原来版本,每次开启注解都要这个配置,为什么不合为一个配置呢,而且需要知道是哪个包的哪个类.
2.注解URL优化
原版
这里的URL都是"/user/*********",这个/user重复了,增加了代码量.
优化版
优化版把/user注解到了类上,这样这个类下的所有方法的url都会加上/user.
3.请求方式get/post优化
原版是这样:
优化版:去掉method
这里还可以进一步优化,每次都会写个value="******",这个value是重复的,可去掉
4.ModelAndView优化
原版
这里引入了ModelAndView,不够简洁,struts2里可是用的String,springmvc也可以
但是这么做要怎样传递数据呢?用最传统的方式request.setAttribute.
原来版本,每次开启注解都要这个配置,为什么不合为一个配置呢,而且需要知道是哪个包的哪个类.
<!-- 根据url找方法 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean> <!-- 根据扫描包下找类 --> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean>优化版
<mvc:annotation-driven></mvc:annotation-driven>
2.注解URL优化
原版
@Controller public class UserController { @RequestMapping(value="/user/addUser", method=RequestMethod.GET) public ModelAndView addUser(){ return new ModelAndView("annotation","result", "addUser-----"); } @RequestMapping(value="/user/delUser", method=RequestMethod.GET) public ModelAndView delUser(){ return new ModelAndView("annotation","result", "delUser-----"); } }
这里的URL都是"/user/*********",这个/user重复了,增加了代码量.
优化版
@Controller @RequestMapping("/user") public class UserController { @RequestMapping(value="/addUser", method=RequestMethod.GET) public ModelAndView addUser(){ return new ModelAndView("annotation","result", "addUser-----"); } @RequestMapping(value="/delUser", method=RequestMethod.GET) public ModelAndView delUser(){ return new ModelAndView("annotation","result", "delUser-----"); } }
优化版把/user注解到了类上,这样这个类下的所有方法的url都会加上/user.
3.请求方式get/post优化
原版是这样:
@RequestMapping(value="/addUser", method=RequestMethod.GET)其实很多时候不需要区分get/post,现在经常使用的ajax,都要指定get/post,开发的时候如果都要知道后台的处理方式是get/post,就太麻烦了.
优化版:去掉method
@RequestMapping(value="/addUser")
这里还可以进一步优化,每次都会写个value="******",这个value是重复的,可去掉
@RequestMapping("/addUser")
4.ModelAndView优化
原版
public ModelAndView addUser(){ return new ModelAndView("annotation","result", "addUser-----"); }
这里引入了ModelAndView,不够简洁,struts2里可是用的String,springmvc也可以
@RequestMapping("/addUser") public String addUser(){ return "annotation"; }
但是这么做要怎样传递数据呢?用最传统的方式request.setAttribute.
@RequestMapping("/addUser") public String addUser(HttpServletRequest request){ request.setAttribute("result", "addUser-----"); return "annotation"; }方法的参数里加入了HttpServletRequest request,如果没用到respones,可先不加response参数.
相关文章推荐
- Java -- 单例模式
- Spring EL Operators example
- JAVA代理模式
- JAVA中内存溢出和内存泄露
- Spring EL method invocation example
- spring多数据源配置
- Spring mybatis insert foreach
- Java记录 -6- 流程控制语句
- Java进阶05 多线程
- 在做java 的web开发,为什么要使用框架
- Eclipse 导入项目乱码问题
- Struts2笔记――5.Convention插件与“约定”支持
- JAVA基础
- 选择排序(java实现)
- struts1和struts2的特点和区别
- java常用设计模式
- 使用wget 命令下载JDK的方法
- Server端接收了不一样的请求,在服务端要如何识别并操作呢
- 【8-21】java学习笔记03
- Eclipse上安装springsource-tool-suite(转)