Spring MVC @Controller中返回值为void类型

控制器方法的返回值类型为void (实际上和String类型类似,把请求的路径名字当做视图名字进行返回)

当控制器方法的返回类型为void时,会把RequestMapping中指定的映射

路径 (/manager/index)作为逻辑视图名称然后解析为物理地址去访问。

此时,可以通过原生ServletAPI对象中的HttpServletRequest和

HttpServletResponse对象进行请求和响应,也就可以进行请求的转发和重

定向,包括使用response对象直接向客户端输出响应数据

1.把请求的路径名字,作为视图名字做了返回,交给了视图解析器。

2.手动转发

@RequestMapping("/Void")
public void testVoid(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("LoginController.testVoid()");
    // 转发: 手动转发不会通过视图解析器
    //request.getRequestDispatcher("/WEB-INF/pages/login.jsp").forward(request, response);
    // 重定向:
    //response.sendRedirect(request.getContextPath() + "/login");
    // 还可以通过response对象直接响应数据
    response.setContentType("text/html;charset=utf-8");
    response.getWriter().print("你好!");
}

猜你喜欢

转载自blog.csdn.net/qq_53463161/article/details/121505352