一、JSP内置对象
1.JSP页面中的对象:包括JSP内置对象和用户创建的对象
2.JSP内置对象是Web容器创建的一组对象
3.JSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例
4.JSP内置对象的名称是JSP的保留字
5.pageContext对象:提供了对JSP页面内所有的对象及名字空间的访问——可以访问到本页所在的session、application的属性等
pageContext对象的常用方法:
- JspWriter getOut():返回当前客户端响应被使用的JspWriter流(out)
- HttpSession getSession():返回当前页中的HttpSession对象(session)
- Object getPage():返回当前页的0bject对象(page)
- ServletRequest getRequest():返回当前页的ServletRequest对象(request)
- ServletResponse getResponse():返回当前页ServletResponse对象(response)
- void setAttribute(String name,Object value,int scope):设置属性及属性值
- Object getAttribute(String name):取属性的值
6.request对象的常用方法:
String getParameter()
- 返回请求中的参数值,如果没有值则返回null
Cookie[] getCookies()
- 返回包含所有cookie对象的数组
HttpSession getSession()
- 返回当前请求中的HttpSession对象
String getServletPath()
- 返回调用servlet在请求URL中的部分
void setAttribute(String name, String value)
- 设置属性及属性值
Object getAttribute(String name)
- 取属性的值
String getRemoteAddr()
- 返回客户端IP地址
String getRemoteHost()
- 返回客户端主机名称
String getRemotePort()
- 返回客户端端口名称
void setCharacterEncoding(String env)
- 设置请求中的字符集
7.response对象的常用方法:
void sendRedirect(String location)
- 重定向到新的URL
void addCookie(Cookie cookie)
- 在响应中添加cookie
void setCharacterEncoding(String charset)
- 设置响应中的字符集
String getContentType()
- 返回响应中的MIME charset
8.out对象的常用方法:
void print(String s)
- 在页面中打印出字符串信息
9.session对象的常用方法:
void setAttribute(String name,object value)
- 绑定一个session的对象
Object getAttribute(String name)
- 返回session,如果没有返回null
long getCreateTime()
- 返回session的创建时间
String getId()
- 返回session的id
void invalidate()
- 销毁当前session
void removeAttribute(String name)
- 销毁指定的session内容
void setMaxInactivateInterval(int interval)
- 设置当前session的失效时间
long getMaxInactiveInterval()
- 获得失效时间
long getLastAccessedTime()
- 获得最后一次访问时间
10.application对象的常用方法:
void setAttribute(String name,Object object)
- 将属性绑定到给定的ServletContext对象上
Object getAttribute(String name)
- 通过名称返回servlet容器属性,如果没有对应名称返回null
11.config对象的常用方法:
String getInitParameter(String param)
- 返回指定参数的参数值
12.page对象:JSP页面对应Servlet的this对象
13.exception对象:是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。
二、JSP运行机制
1.客户端请求
客户端(浏览器)通过 HTTP 协议向服务器发送对 JSP 页面的请求。
2.服务器处理
转换编译:JSP 引擎检查 JSP 文件是否编译过,若没有,则将 JSP 文件转换为 Java Servlet 源文件,再编译成字节码文件(.class)。
加载实例化与初始化:字节码文件被加载到内存中并实例化,然后调用init()方法进行初始化。
请求处理与响应生成:通过service()方法处理请求,根据请求类型调用doGet()或doPost()方法,生成动态内容并通过response将内容发送回客户端。
3.客户端响应
客户端接收服务器发送的响应,解析并渲染内容,将网页呈现给用户。
三、参数传递与接收
1.参数传递
表单提交
重定向:URL?参数名1=参数值1&参数名2=参数值2
request对象:setAttribute()方法
session对象:setAttribute()方法
pageContext对象:setAttribute()方法
2.参数接收
request对象:getParameter()方法
request对象:getAttribute()方法
session对象:getAttribute()方法
pageContext对象:getAttribute()方法