springmvc学习笔记(六)注解优化

1.开启注解优化

原来版本,每次开启注解都要这个配置,为什么不合为一个配置呢,而且需要知道是哪个包的哪个类.

    <!-- 根据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参数.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值