JavaWeb中的资源跳转《笔记》

JavaWeb资源跳转

资源的跳转

  • 在一个web应用中通过两种方式,可以完成资源的跳转:

    • 转发
    • 重定向
  • 转发和重定向有什么区别?

    • 代码上有什么区别?

      • 转发(一次请求)

        //获取请求转发器对象,调用forward方法完成转发
        
        request.getRequestDispatcher("/xxx/yyy").forward(request,response);
        

        转发的时候是一次请求,不管转发了多少次,都是一次请求。

      • 重定向(两次请求)

        response.sendRedirect(request.getContextPath()+"/b");
        //重定向时的路径当中需要以项目名开始,或者说需要添加项目名
        //response对象将这个路径:"/servlet/b"响应给浏览器了
        //浏览器又自发的向服务器发送了一次全新的请求:http://localhost:8080/servlet/b
        //所以浏览器一共发送了两次请求:
        //第一次请求:http://localhost:8080/servlet/a
        //第二次请求:http://localhost:8080/servlet/b
        //最终浏览器地址栏上显示的地址当然时最后那一次请求的地址
        

        所以重定向,会把地址栏上的路径进行改变

  • 转发和重定向应该如何选择?什么时候使用转发,什么时候使用重定向?

    • 如果在上一个Servlet当中向request域当中绑定了数据,希望从下一个Servlet当中把request域里面的数据取出来,使用转发机制。
    • 剩下所有的请求均使用重定向。(重定向使用较多)
  • 跳转的下一个资源有没有要求呢?必须是一个Servlet吗?

    • 不一定,跳转的资源只要是服务器内部合法的资源即可。包括:Servlet、JSP、HTML
  • 转发会存在浏览器的刷新问题

补充

Javabean

  • 什么是javabean?
    • java是咖啡
    • bean是豆子
    • javabean:咖啡豆
    • 咖啡是由咖啡豆研磨而成。寓意java程序是由一个一个的javabean组成的。
  • 一个javabean一般有规范的
    • 有无参构造方法
    • 属性私有化
    • 对外提供setter和getter方法
    • 重写toString()
    • 重写hashCode + equals
    • 实现java.io.Serializable接口
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值