九大内置对象
- 在jsp页面中不需要创建,直接使用的对象
| 变量名 | 真实类型 | 作用 |
| ------------ | ------------ | ------------ |
| pageContext | PageContext | 当前页面共享数据,还可以获取其他八个内置对象 |
| request|HttpServletRequest | 一次请求访问的多个资源(转发) |
| response | HttpServletResponse | 响应对象 |
|session | HttpSession | 一次会话的多个请求间 |
| application |ServletContext | 所有用户间共享数据 |
| config | ServletConfig | Servlet的配置对象 |
| out | Object | 输出对象,数据输出到页面上 |
| page |JspWriter | 当前页面(Servlet)的对象 this |
| exception |Throwable | 异常对象 |
pageContext.setAttribute("name","张三");//保存的数据只在一个页面中有效
request.setAttribute("name1","张三1");//保存的数据旨在一次请求中有效,请求转发会携带这个数据
application.setAttribute("name2","张三2");//保存的数据在服务器中有效,从打开到服务器,到关闭服务器
session.setAttribute("name3","张三3");//保存的数据至在一次会话中有效,打开浏览器到关闭浏览器
- request:客户端向服务器发送请求产生的数据用户看完就没用了,比如:新闻,用户看完没用的
- session:客户端向服务器发送请求,产生的数据,用户用完了一会儿还有用,比如:购物车;
- application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如:聊天数据;
MVC_JSP演变历史
- 早期只有servlet,只能使用response输出标签数据,非常麻烦
- 后来又jsp,简化了servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作
- 再后来,java的web开发,借鉴mvc开发模式,是的程序的设计更加合理性