Java web 里的内置对象 忽视过的点

     1.内置对象/作用域(每一种作用域的生命周期是不一样的):
            1-1., application 全局作用域   : 自始至终起的作用,返回参数 ,在哪个浏览器里都可以
          1-  2, session 会话作用域(30分钟) : 一直持续到关闭浏览器,或者是时间到了失效,打开不同的浏览器,其session也是不同的,
                把登录的信息做一个存储的功能
          1-  3, request 请求作用域     :传递,接收参数 ,传给一个网页的参数之后,任务就完成了
           1- 4, pageContext 页面作用域  : 关闭页面就不起作用了

      2.路径:绝对路径   "../"  表示上级目录   
                    "./"   表示当前目录

  3.post:
            提交内容不可见, 没有长度限制   *** request,直接 在地址栏后面的加?参数变量= 内容 (参数变量);如果传入多个参数的话,用&连接

  4.***response.getWriter().append(String content)---向页面输出一段字符串
                out对象的类型是JspWriter, 而response.getWriter()是一个PrintWriter, out对象也可以通过pageContext.getOut()获得, 这两个对象的类型不一样

        ***JspWriter是一个抽象类, PrintWriter是一个继承了Writer的普通类

                ***getWriter()方法可以在页面上输出一串字符, out也是一个输出对象, 两者的区别在于, getWriter()方法的执行结果, 总是优先于out对象, 可以使用out.flush()方法, 强行属性缓冲区的内容, 将out对象的输出结果先输出出来

    5.造成这种现象的原因:
                    ***out对象实际上对PrintWriter是有依赖的, 他需要先将需要输出的内容存到response的缓冲区里面, 然后等待jsp页面中的out满足一定条件之后, 才会调用输出的方法把内容直接输出到页面上

    6.转发和重定向

        response.sendRedirect(String location)---请求重定向
                客户端行为, 从本质上讲相当于两次请求, 第一次请求的对象不会被保存, 地址栏的Url地址会改变(东西还是自己拿着,只不过是换了一个方法而已)
            request.getRequestDispatcher().forward(request, response)---请求转发     *** (用到的会多一些的)
                服务器行为, 相当于一次请求, 转发后请求对象会被保存, 地址栏url不会改变(东西给了人家,人家想办法给你去办)

      

    

原文地址:https://www.cnblogs.com/zuo72/p/8082600.html