hello2部分代码分析

String username = request.getParameter("username");
            if (username != null && username.length()> 0) {
                RequestDispatcher dispatcher =
                    getServletContext().getRequestDispatcher("/response");

                if (dispatcher != null) {
                    dispatcher.include(request, response);
                }
            }
            out.println("</body></html>");

先定义一个String类型的变量名为username,从request中拿出名字叫userName的值,赋给了你刚才定义的变量;

如果username不为空并且字符串长度大于0

声明一个名为dispatcher的RequestDispatcher的接口,将它赋值为getServletContext().getRequestDispatcher("/response"),返回映射到另一URL的servlet上下文。在同一服务器中URL必须是以“/”开头的绝对路径。

如果dispatcher不为空

调用dispatcher.include(request, response),此方法用于包含响应中某个资源的内容。调用者指定一个被包含的资源,将这个包含的资源(JSP,Servlet,HTML)的响应数据包含到自己的响应体中。被包含的数据是在服务器上经过运行产生的。这个过程实质是用一个相同的Request再请求一次被包含的资源,将被包含的资源的响应数据包含到原本的资源中去,构成它的响应数据的一部分。

 
原文地址:https://www.cnblogs.com/XZY30/p/10588017.html