内置对象:不用声明就可以在jsp页面的脚本(java程序片和java表达式)中使用,内置对象有:resquest、response、session、out 、 application 。
resquest:
getParameter():获取用户提交的信息。
getProtocol():获取请求使用的通信协议,如http/1.1等。
getServletPath():获取请求的JSP页面所在的目录。
getContentLength():获取HTTP请求的长度。
getMethod():获取表单提交信息的方式,如POST或GET。
getHeader(String s):获取请求中头的值。
getHeaderNames():获取头名字的一个枚举。
getHeaders(String s):获取头的全部值的一个枚举。
getRemoteAddr():获取客户的IP地址。
getRemoteHost():获取客户机的名称(如果获取不到,就获取IP地址).
getServerName():获取服务器的名称。
getServerPort():获取服务器的端口号。
getParameterNames():获取表单提交的信息体部分中name参数值的一个枚举.
response
可以对用户的请求做出动态响应,向用户端发送数据 。
setContentType(String s):改变contentType的属性值来设置响应的MIME类型。
addHeader(String head,String value);或者setHeader(String head,String value);动态添加新的响应头和头的值,并将这些头发送给用户的浏览器。如果添加的头已存在,则先前的头被覆盖。
sendRedirect(URL url):实现用户的重定向。
session
当一个用户首次访问Web服务目录中的某个JSP页面时,JSP引擎为其产生一个session对象。为用户产生的session对象调用相应的方法可以存储用户在访问各个页面期间提交的各种信息。为用户产生的session对象中含有一个String类型的Id号,JSP引擎同时将这个Id号发送到用户端、存放在用户的浏览器的Cookie中。每个用户都对应着一个session对象(该用户的会话),不同用户的session对象互不相同,即具有不同的Id号码。
setAttribute(String key,Object obj):将参数obj添加到session对象中,并为添加的对象指定一个索引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被清除。
getAttribute(String key):获取session对象含有的关键字是key的对象。
Enumeration getAttributeNames():产生一个枚举对象,该枚举对象使用nextElements()遍历session中的各个对象所对应的索引关键字。
long getCreationTime():获取该对象创建的时间,单位毫秒。
removeAttribute(String name):移除关键字为key的对象。
session 生存期限:
■依赖于session对象是否调用invalidate()方法使得session无效
■依赖于session对象达到了设置的最长的“发呆”状态时间
■依赖于服务器是否被关闭。
long getCreationTime():获取session创建时间,单位毫秒
long getLastAccessesTime():获取session最后一次被操作的时间
int getMaxInactiveInterval():获取session最长的“发呆”时间(单位秒)
setMaxInactiveInterval(int interval):设置session最长的“发呆”时间
boolean isNew():判断session是否是一个新建的对象
out
out对象是一个输出流,用来向用户端输出数据。
out.newLine() 输出一个换行符。
out.flush() 输出缓冲区里的内容。
out.close() 关闭流。
System.out.println()这是向控制台输出
out.println()这是向客户端的浏览器输出
application
application生命周期是从tomcate启动到tomcate关闭,在此期间一直存在。不同的用户访问同一个web目录下的页面,它的id是一样的,也就是,多个用户共享同一application对象。
setAttribute(String key,Object obj):将obj添加到application对象中,并指定一个索引关键字。
Object getAttribute(String key):从application对象中获取索引关键字为key的对象。
Enumeration getAttributeNames():产生一个枚举对象,该枚举对象使用nextElemets()遍历application中的各个对象所对应的关键字。
removeAttribute(String key):删除关键字是key的对象。
String getServletInfo():获取Servlet编译器的当前版本的信息。
http状态码:
1字头:消息
2字头:成功
3字头:重定向
4字头:请求错误
5字头:服务器错误
200 OK
202 Accepted
305 Use Proxy
400 Bad Request
403 Forbidden
404 Not Found
408 Request Timeout
500 Internal Server Error