Servlet&JSP学习笔记
Table of Contents
1 Web容器
2 内置对象
JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象.
2.1 内置对象分类
2.1.1 out
JspWriter类的实例,向客户端输出内容常用的对象.
2.1.2 request
- get 与 post
get以明文的方式通过url提交数据,适合数据量不大,安全性不高的数据
post将用户提交的信息封装在HTML HEADER内,适合数据量大,安全性高的数据.
- request 表示客户端的一次请求.客户端的请求信息都被封装在request对象中.是HttpServletRequest类的实例.request具有请求域,在用户完成请求前一直有效
2.1.3 application
application 对象实现了用户间数据的共享,存放全局变量.开始与服务器的启动,终止与服务器的关闭. 是ServletContext类的实例.
2.1.4 response
是httpServletResponse类的实例,包含了响应客户请求的信息.具有页面作用於.即访问一个页面是,该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效.
- 请求重定向和请求转发
重定向是客户端行为,相当与两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变.response.sendRedirect();
转发是服务器应为,是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变.request.getRequestDispatcher().forward(req,res);
2.1.5 session
session表示客户端与服务器的一次会话.实际上是一个时间概念。
保存在服务器的内存中,保存这不同用户的session
设置session超时时间.1) session.setMaxInactival(时间) 2) 在web.xml中配置
2.1.6 其他
Page, pageContext, exception, config
3 JavaBean
javabeans符合某种特定的规范的Java类.
javabean的设计原则:
- 共有类
- 属性私有
- 无参数的构造方法
- getter和setter方法
3.1 JSP动作元素
- 与存取JavaBean有关的
- JSP1.2就有的基本元素
- JSP2.0开始新增的与JSP Docuement有关
- 动态生成XML元素标签的值
- 用在Tag File的动作
3.2 javabean的四个作用於范围
- page // 仅在当前页面有效
- request // 可以通过HttpRequest.getAttribute() 方法获取javabean对象
- session // 可以通过HttpSession.getAttribute() 方法获取javabean对象
- application // 可以通过application.getAttribute() 方法获取javabean对象
4 JSP状态管理
- Session
- cookie
4.1 Cookie
Web服务器保存在客户端的一系列文本信息
- session 与cookie的对比
- 都是保存客户数据的机制 都有失效期
- session是服务器端保存用户信息 cookie是客户端保存用户信息
- session保存的是Object类型 cookie保存的是String类型
- session会随着会话的结束而销毁 cookie可长期保存在客户端
- session一般保存重要的信息 cookie一般保存不重要的信息
4.2 include 指令与动作的区别
- 语法格式
- 指令: <%@ include %> 动作:<jsp:include page="">
- 指令发生在页面转换期间 动作发生在请求期间
- 指令包含的是文件的实际内容 动作包含的是页面的输出
- 指令时主页面与包含页面转换成一个Servlet 动作时两者分别转换为两个Servlet
- 指令质量编译较慢 执行较快 动作编译较快执行较慢