一、JSP内置对象
①out(之前使用过)
②request(经常用)
③response(之前使用过)
④pageContext
⑤session(之前使用过)
⑥application(之前使用过)
⑦config
⑧exception(之前使用过)
⑨page
其中pageContext、page、config出现的特别少,稍作了解即可。
面试题:JSP常见的内置对象,以及它们常用的方法?
二、常见内置对象
1、out
1)out内置对象是一个缓冲的输出流,用来给客户端返回信息,它是java.servlet.jsp.JspWriter
的一个实例。
2)典型应用:向客户端输出内容。
3)常用方法:
writer()/println()/print():向客户端输出各种类型的数据。
newLine():输出一个换行符。
close():关闭输出流。
flush():输出缓冲区里的数据。
2、request
1)request内置对象表示的是调用JSP页面的请求。通常,request对象是javax.servlet.http.HttpServletRequest接口的一个实例。
2)典型应用:通过request.getParameter("paramName")可以获得Form提交过来的参数值。
3)可以用此对象取得请求的Header、信息(如浏览器版本、语言的编码等)、请求的方式(get/post)、请求的参数名称、参数值、客户端的主机名称。
4)常用方法:
getParameter(String paramName):返回客户端向服务器端传送的参数值,该参数由paramName指定。
getParameterValues(String name):获得指定参数的所有值。
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举类型数据(Enumeration)
getRequestURL():获得发出请求字符串的客户端地址。
getRemoteAddr():获取客户端的IP地址
getRemoteHost():获取客户端机器名称
getServerName():获取服务器的名字
getServletName():客户端所请求的脚本文件路径。
getServletPort():获取服务器的端口。
getMethod():返回客户端向服务器端传送数据的方法。
3、response
1)表示的是返回给客户端的响应
2)是javax.servlet.http.HttpServletRequest接口的一个实例。
3)经常用于设置HTTP标题,添加cookie、设置响应内容的类型和状态,发送HTTP重定向和编码URL。
4)常用方法:
addCookie(Cookie cookie):添加一个Cookie对象,用于在客户端保存特定的信息。
addHeader(String name, String value):添加HTTP头信息,该Header信息将发送到客户端。
containsHeader(String name):判断指定名字的HTTP文件头是否存在。
sendError(int):向客户端发送错误的信息(int类型错误码,如404、500)。
sendRedirect(String url):重定向JSP文件。
和<jsp:forward>的区别:
sendRedirect通过客户端发起两次申请,不同的request对象。
jsp:forward在服务器内部转发,是同一个request。
setContentType(String contentType):设置MIME类型与编码方式。
4、session
1)<%@ page session="true"%>(默认),表示session功能已经在jsp页面中启动。
2)session常用方法:
void setAttribute(String name, Object value)
Object getAttribute(String name)
boolean isNew()
5、application
常用方法查ServletContext类。