servlet dispatcher .forward(request, response); 进入其它servlet【原】

dispatcher .forward(request, response); 进入其它servlet

假如我们的web.xml配置如下

<servlet>
        <servlet-name>index</servlet-name>
        <servlet-class>king.server.IndexServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>index</servlet-name>
        <url-pattern>/indexHtml</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>allServlet</servlet-name>
        <servlet-class>king.server.HttpRequestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>allServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

IndexServlet代码如下

public class IndexServlet  extends HttpServlet{
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) {
        try {
            TraceTool.traceParent();
            RequestDispatcher dispatcher = request.getRequestDispatcher("/index.html");
            dispatcher .forward(request, response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

此时执行完IndexServlet的dispatcher .forward(request, response);后相当于去请求了contextPath/index.html,

于是被<url-pattern>/*</url-pattern>的allServlet拦截下来.又进到了allServlet的get(xxx)方法中去了.

转载于:https://www.cnblogs.com/whatlonelytear/p/6815835.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值