servlet以及转发与重定向

本文详细解析了JavaWeb中转发和重定向的区别,通过对比HttpServletRequest和HttpServletResponse对象的使用,阐述了两种方式下URL的变化及服务器请求次数的不同。并通过一个具体的Servlet示例,展示了如何在Servlet中操作ServletContext对象,包括数据的存取过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现转发调用的是HttpServletRequest对象的方法,且浏览器中的url地址栏不会发生变化,只请求一次服务器
实现重定向调用的是HttpServletResponse对象中的方法,浏览器中的url地址栏会发生变化,请求两次服务器

代码转自 慕课网案例

/**

  • ServletContext对象:表示的是整个JavaWeb工程

  • ServletConfig对象:表示的是某一个Servelt中的配置文件
    */

@WebServlet("/Demo1Servlet")
public class Demo1Servlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 获取代表某一个JavaWeb工程的ServletContext对象
        // Context对象是一个域对象,可以往某一个域对象中存放数据,并且还可以取出存放的数据
        ServletContext context = this.getServletContext();
        // 往context域对象中存放数据
        context.setAttribute("username", "张三");
        // 取出context域对象中的数据
        Object result = context.getAttribute("username");
        // 打印取出的结果
        System.out.println(result);

    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值