一、Request对象
服务器端用于接收客户端请求内容的,所属的接口:javax.servlet.http.HttpServletRequest,request对象的作用域为一次请求。
1、对所有的数据进行再编码:GBK编码
request.setCharacterEncoding("GBK");
2、取得客户端所有请求的参数
public Enumeration getParameterNames()
3、取得客户端IP地址?
public String getRemoteAddr()
4、设置Cookie
request对象中有public Cookie[] getCookies()方法
二、Response对象
服务器端回应客户端的请求,所属的接口:javax.servlet.http.HttpServletResponse。response对象也具有作用域,它只在JSP页面内有效。
1.设置头信息
response.setHeader("头信息内容","头信息参数") ;
response.setHeader("refresh","1");
response.setHeader("refresh","2;URL=页面名称") ;
2.response进行跳转——重定向
response.sendRedirect(跳转路径) ;
(扩展:转发的方式进行跳转
RequestDispatcherrd= request.getRequestDispatcher("index.jsp");
rd.forward(request,response);
重定向和转发两种跳转的区别:
a.地址栏:重定向:地址栏是最终得到请求; 转发:地址栏不变化
b.本质:重定向:两次请求; 转发:一次请求
c.数据:重定向:请求原始数据丢失;转发:请求的原始数据不会丢失
3.设置Cookie
Cookie是服务器端保存在客户端的一组资源
public void addCookie(Cookie cookie)
setMaxAge//以秒为单位
三、Session对象(900m自动释放)
session对象属于javax.servlet.http.HttpSession接口的实例化对象。
1、分配唯一的一个不会重复的session ID
方法:session.getId() 长度为:32
2、判断是否是新的session
public booleanisNew()
3、session的属性设置
设置属性:public void setAttribute(String name, Object value)
取得属性:public Object getAttribute(String name)
删除属性:public void removeAttribute(String name)
4、用户注销:让用户的session失效
public void invalidate():使session失效(手工)
5、得到session的创建时间
public long getCreationTime()
6、取得用户最后一次操作的时间
public long getLastAccessedTime()
7、Session和Cookie的区别
a.session将信息保存在服务器上,而cookie保存在客户端上
b.session比cookie更安全,session比cookie更占用资源
开发的原则:session要尽量少使用——尽量少向session中保存信息。session使用了cookie的机制,如果cookie被禁用,则session也无法使用。
四、Application对象–站点计数器
application对象主要的作用就是保存公共信息的。
属性操作的三个方法:
a. setAttribute():将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。
b. getAttribute():获取application对象中含有关键字的对象。
c. removeAttribute()
<h1><%=getServletContext().getRealPath("/")%></h1>
五、out对象
out对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
要用<%=%>完全代替<%out.print();%>
六、config对象
作用:取得服务器的配置信息。
config对象:javax.servlet.ServletConfig,可以获取一个config对象。取得初始化参数的方法:public String getInitParameter(String name)
作者:中软卓越天津ETC