request的请求转发

1、请求转发和重定向的区别

重定向:

 

 请求转发:

 

 可以看出,请求转发只需要发起一次请求,与重定向不同,请求转发发生在服务器内部。请求转发后浏览器的地址不会改变。

2、request请求转发

需要建立两个Servlet:

注意事项:配置文件(两个Servlet):

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
    <servlet-name>MyServletname</servlet-name>
    <servlet-class>MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>MyServletname</servlet-name>
    <url-pattern>/abc</url-pattern>
    </servlet-mapping>
        <servlet>
        <servlet-name>MyServletname1</servlet-name>
        <servlet-class>Servlet2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServletname1</servlet-name>
        <url-pattern>/abc1</url-pattern>
    </servlet-mapping>
</web-app>

定义Servlet1:MyServlet:(直接访问的是这个Servlet)

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
        response.getWriter().write("MyServlet");
        RequestDispatcher dispatcher=request.getRequestDispatcher("/abc1");//获取转发器
        dispatcher.forward(request,response);

    }

定义Servlet2:请求转发后跳转到此Servlet:

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().write("Servlet2");
    }

 

 

虽然访问的是MyServlet的地址,但是显示的结果表示Servlet2被访问了,但是地址并不会改变。这也是请求转发与重定向的区别。

转载于:https://www.cnblogs.com/zhai1997/p/11505354.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值