servlet 跳转到另一个servlet,servlet为什么要跳转

首页 > 实用技巧 > 作者:YD1662024-01-15 21:50:10

请求转发

servlet 跳转到另一个servlet,servlet为什么要跳转(1)

servlet 跳转到另一个servlet,servlet为什么要跳转(2)

@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 设置请求和响应的字符集 req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); System.out.println("AServlet ----> BServlet"); // 请求转发 req.getRequestDispatcher("response.html").forward(req, resp); }

从一个Servlet跳转到另一个Servlet/JSP/HTML;

浏览器地址栏不会发生改变,只发一次请求;

请求转发是服务器内部行为;

请求转发使用的是同一个请求和响应对象(设置共享资源,涉及到域对象);

<jsp-config> <jsp-property-group> <url-pattern>*.html</url-pattern> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config>请求重定向

servlet 跳转到另一个servlet,servlet为什么要跳转(3)

@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 设置请求和响应的字符集 req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); System.out.println("RedirectAServlet ----> RedirectBServlet"); // 重定向到BServlet resp.sendRedirect("bb"); }

一个资源跳转到另一个资源,会发送新的请求;

一个Servlet跳转到另一个Servlet/JSP/HTML;

浏览器地址栏会发生改变,发送多个请求;

重定向是客户端(浏览器)的行为;

重定向使用的不是同一个请求对象和响应对象;

每次发送请求都会创建新的请求和响应对象;

转发和重定向的区别

servlet 跳转到另一个servlet,servlet为什么要跳转(4)

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.