0
点赞
收藏
分享

微信扫一扫

请求转发笔记整理

秀儿2020 2022-04-26 阅读 74
java

java请求转发
图片来源尚硅谷Javaweb课程
结构以及代码如下
在这里插入图片描述
Servlet1

public class Servlet1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取请求的参数 (查看办事材料)
        String username=req.getParameter("username");
        System.out.println("在Servlet(柜台1)中查看参数(材料):"+username);
        //给材料盖章,并传递到servlet2(柜台2)去查看
        req.setAttribute("key","柜台1的章");
        //问路:servlet2(柜台2)怎么走
        RequestDispatcher requestDispatcher=req.getRequestDispatcher("/servlet2");
        //走向servlet2(柜台2)
        requestDispatcher.forward(req,resp);


    }
}

Servlet2

public class Servlet2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取请求的参数(办事的材料)查看
        String username=req.getParameter("username");
        System.out.println("在Servlet2(柜台2)中查看材料:"+username);
        //查看 柜台2 是否有盖章
        Object key1=req.getAttribute("key");
        System.out.println("柜台1是否有章:"+key1);
        //处理自己的业务
        System.out.println("Servlet2 处理自己的业务");

    }
}

XML配置如下

 <servlet>
        <servlet-name>Servlet1</servlet-name>
        <servlet-class>com.example.demo.Servlet1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/servlet1</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>Servlet2</servlet-name>
        <servlet-class>com.example.demo.Servlet2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet2</servlet-name>
        <url-pattern>/servlet2</url-pattern>
    </servlet-mapping>

浏览器地址输入 (参数为 username=dijia)
在这里插入图片描述
控制台输出
在这里插入图片描述
请求转发的特点:
1.浏览器地址栏没有变化
2.是一次请求
3.共享Request域中的数据
4.可以转发到WEB-INF目录下
5.只能访问工程以内的资源

以上根据尚硅谷JavaWeb教程整理

举报

相关推荐

0 条评论