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不会改变(东西给了人家,人家想办法给你去办)