SpringMVC关于数据响应知识总结

1. 页面跳转

1) 直接返回字符串

@Controller
@RequesttMapping("/user")
public class UserController{
		@RequesttMapping("/qucik")
	public String jump(){
		return "/jsp/success.jsp";
	}
	}

@RequestMapping 这个注解我们是需要用xml去配置,我们在前面用spring的时候知道Context中的扫描组件,因此我们在此时也需要去用SpringMVC的扫描组件:

 <context:component-scan base-package="com.itheima">
        <context:include-filter type="annotation" include="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    <!--expression 是排除一些包的扫描-->
      <!--include 是只扫描这些包-->

我们在这为什么用include是因为我 们要和Spring的组件扫描避免重复

注解中的value代表:http://localhost:8080/user/quick

我们返回的是一个字符串,里面是一个地址,我给的就是跳转到jsp文件下的jindex.jsp这个页面。在这里插入图片描述
2)ModelAndView

@RequetMapping("/quick2")
public ModelAndView jump(){
	 /*
            Model:模型 作用封装数据
            View:视图 作用展示数据
         */
	ModelAndView mav = new ModelAndView();
	mav.setViewName("sucess");
	mav.addObject("userName","zx");
	return mav;
}
  //往request域中添加数据
@RequetMapping("/quick2")
 public String save4(Model model){
        model.addAttribute("username","博学谷");
        return "success";
    }
    //往request域中添加数据
@RequestMapping(value="/quick5")
  public String save5(HttpServletRequest request){
      request.setAttribute("username","酷丁鱼");
      return "success";
  }

setViewName()中可以添加redirect和forward,可以表示重定向和请求转发 。 两者区别

如果我们直接这样写的话,mvc是无法去解析的,因此我们需要在spring-mvc.xml的文件去配置视图资源。

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--  /jsp/success.jsp  -->
        <property name="prefix" value="/jsp/"></property><!--前缀-->
        <property name="suffix" value=".jsp"></property>
    </bean><!--后缀-->

2.回写数据

1)在写servlet中会有HttpServletRequest,直接返回字符串

@RequestMapping(value="/quick6")
    public void save6(HttpServletResponse response) throws IOException {
        response.getWriter().print("hello itcast");
    }

2)通过注解@RespoenseBody告诉springmvc框架不进行跳转

@RequestMapping(value="/quick7")
    @ResponseBody  //告知SpringMVC框架 不进行视图跳转 直接进行数据响应
    public String save7() throws IOException {
        return "hello itheima";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值