• 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)方法中去了.

  • 相关阅读:
    JSON
    css3之自定义字体
    css3之2D转换
    JavaScript---认识JavaScipt
    学JS必看-JavaScript数据结构深度剖析
    Vue 过渡
    Vue 表单控件绑定
    Vue 方法与事件处理器
    Vue 列表渲染
    Vue 条件渲染
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/6815835.html
Copyright © 2020-2023  润新知