SpringMVC响应请求
-
xml配置开启注解
-
响应jsp
- 返回ModelAndView
- 返回字符串
-
响应string,void
原生方式响应
首先xml配置开启注解扫描
首先要开启扫描和开启SpringMVC注解,在类上打上注解
@Controller
<!-- 开启扫描 --> <context:component-scan base-package="com.bb.controller"></context:component-scan> <!-- 开启SpringMVC注解 --> <mvc:annotation-driven></mvc:annotation-driven>
响应jsp
返回一个ModelAndView对象就携带了要响应的jsp文件路径信息,举例
@RequestMapping("/query") public ModelAndView query(){ ModelAndView mm = new ModelAndView(); mm.addObject("msg", "天天向上,好好学习"); mm.setViewName("/user.jsp"); return mm; }
通过
http//localhost:8080/xxx/query
就会响应/user.jsp
页面, 并且携带msg
对象。
默认为服务器转发
/** * 直接跳转到某界面 * 我们可以直接返回要跳转的页面地址 * "/" 绝对路径 不加"/" 表示相对路径 * * 默认是 请求转发(服务器端跳转) * @return */ @RequestMapping("/update") public String update(){ System.out.println("--update--"); return "/user.jsp"; }
客户端重定向
/** * 重定向跳转 * 在返回的页面地址前 加 "redirect:"前缀 * @return */ @RequestMapping("/delete") public String delete(){ System.out.println("--delete---"); return "redirect:/user.jsp"; }
响应string,void
@RequestMapping("/queryUserById") @ResponseBody public String queryUserById(){ System.out.println("-- query by id---"); return "zhangshan"; }
/** * 获取用户请求后不需要给客户端一个相应 */ @RequestMapping("/add") @ResponseBody public void add(){ System.out.println("---------"); }
原生方式响应
@RequestMapping("/query3") public void query3(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ System.out.println(request); System.out.println(response); System.out.println("-------"); request.getRequestDispatcher("/jsp/user.jsp").forward(request, response); //response.sendRedirect(request.getContextPath()+"/jsp/user.jsp"); }
总结:与原生的servlet编程,SpringMVC添加了几种简便的响应方式,供开发者按需要选择。
项目打包 提取码:
xxcs
环境:eclipse
导入jar包 (没有全部使用到)
com.springsource.org.apache.commons.logging-1.1.1.jar com.springsource.org.aspectj.tools-1.6.6.RELEASE.jar spring-aop-4.3.10.RELEASE.jar spring-aspects-4.3.10.RELEASE.jar spring-beans-4.3.10.RELEASE.jar spring-context-4.3.10.RELEASE.jar spring-core-4.3.10.RELEASE.jar spring-expression-4.3.10.RELEASE.jar spring-web-4.3.10.RELEASE.jar spring-webmvc-4.3.10.RELEASE.jar