1 SpringMVC的返回值类型有哪些?用法?
答:
String类型:
直接返回警示牌页面的的名称,视图解析或根据名称进行路径的拼接;
根据关键字返回,来拿进行转发或重定向:
转发:forward:jsp页面路径;
重定向:redirect:jsp页面路径;
void类型:
转发:使用HttpServletRequest;
request.getRequestDispatcher("jsp页面路径").forward(request,response);
重定向:使用HttpServletResponse;
response.sendRedirect(request.getContextPath()+"jsp页面路径");
直接输出数据:response.getWriter().print("输出内容");
ModeAndView类型:
将返回的视图名称和返回对象封装到ModeAndView对象中;
保存:addObject(key,value);(保存到Request域)
跳转:setViewName("要跳转的jsp页面名");
json类型:
接收:@RequestBody
作用:将前端的json数据,转换成相应的参数格式
位置:控制器方法的参数中;
响应:@ResourceBody
作用:将返回值转换陈json数据响应给前端;
位置:类上或返回值前都可以;
2 SpringMVC在传递json时该如何做?
答:
1、导入相应的jar包和js文件;
2、转换:
接收:@RequestBody
作用:将前端的json数据,转换成相应的参数格式
位置:控制器方法的参数中;
响应:@ResourceBody
作用:将返回值转换陈json数据响应给前端;
位置:类上或返回值前都可以;
3 SpringMVC中的拦截器是什么?
答:
概念:由springMVC框架自己提供的组件,只适用于springMVC框架;只会拦截访问控制器的资源;需要编写拦截器的类,且必须实现HandlerInterceptor接口;
方法:
preHandle方法:
在控制器的方法执行前执行;返回一个布尔值;
true:方向,执行下一个拦截器,或者构造器方法付;
false:拦截;
postHandle方法:
在控制器方法执行后,jsp页面加载前执行,无返回值;
afterHandle方法:
在页面加载后执行;
配置:配置在springmvc.xml 中
mvc:interceptors标签:
mvc:interceptor标签:
mvc:mapping标签:要拦截的方法
path属性:方法路径
mvc:exclude标签:不要拦截的方法
path属性:方法路径
bean标签:配置拦截器bean对象
注:一个mvc:interceptor标签代表一个拦截器; |