springmvc中@RequestMapping和controller返回值

本文详细介绍了SpringMVC中@RequestMapping注解的三个功能:URL映射、请求映射路径的分类管理和限制HTTP请求方法。同时,探讨了Controller方法的返回值处理,包括返回ModelAndView、返回字符串时如何指定逻辑视图名、redirect重定向及其特点,以及forward页面转发的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、@RequestMapping

       在springmvc中其具有三个功能:

      1、 url映射,其定义了controller方法对应的url,进行处理器映射使用。

          使用方式:

                 在controller的方法上定义@RequestMapping         

              //@RequestMapping实现queryItems方法和url进行映射,一个方法对应一个url

             //一般建议将url和方法写成一样

                      @RequestMapping("/queryItems")  

                      public ModelAndView queryItems()throws Exception{

                         }

       2、窄化请求映射

                    即在controller类上定义方法映射路径的跟路径,方便对url进行分类管理,类似与strus.xml中包的命名空间。

               

      3、限制http请求方法

              

二、controller方法的返回值

     1、返回ModelAndView     需要方法结束时,定义ModelAndView,将model和view分别进行设置。

          例子:

@Override
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		//调用service查找 数据库,查询商品列表,这里使用静态数据模拟
		List<Items> itemsList = new ArrayList<Items>();
		//向list中填充静态数据
		Items items_1 = new Items();
		items_1.setName("联想笔记本");
		items_1.setPrice(6000f);
		items_1.setDetail("ThinkPad T430 联想笔记本电脑!");
		
		Items items_2 = new Items();
		items_2.setName("苹果手机");
		items_2.setPrice(5000f);
		items_2.setDetail("iphone6苹果手机!");
		
		itemsList.add(items_1);
		itemsList.add(items_2);

		//返回ModelAndView
		ModelAndView modelAndView =  new ModelAndView();
		//相当 于request的setAttribut,在jsp页面中通过itemsList取数据
		modelAndView.addObject("itemsList", itemsList);
		
		//指定视图
		modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");

		return modelAndView;
	}
     2、返回string

    如果controller方法返回string,需要在controller方法的形参中添加Model。

(1)表示返回逻辑视图名。

真正视图(jsp路径)=前缀+逻辑视图名+后缀


(2)redirect重定向

商品修改提交后,重定向到商品查询列表。

redirect重定向特点:浏览器地址栏中的url会变化。修改提交的request数据无法传到重定向的地址。因为重定向后重新进行request(request无法共享)

(3)forward页面转发

通过forward进行页面转发,浏览器地址栏url不变,request可以共享。




    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值