1. response:响应对象
提供的方法:
void addCookie(Cookie cookie);服务器向客户端增加cookie对象
void sendRedirect(String location) throws IOException; 页面跳转的一种方式(重定向 : 数据丢失)
void setContetType(String type); 设置服务端响应的编码(设置服务端的contentType类型)
2. request:请求对象;存储“客户端向服务端发送的请求信息”
常用方法:
String getParameter(String name):根据请求的字段名key (input标签的name属性 ),返回字段值value
String[] getParameterValues(String name);根据请求的字段名key,返回多个字段值value(chexkbox)
void setCharacterEncoding(“编码格式utf-8”);设置请求编码
getRequestDispatcher(“b.jsp”).forward(request,response);请求转发的方式跳转页面 a-》b
ServletContext getServletContext();获取项目的ServletContext对象
3. session(服务端):会话(开始到结束)
- session机制:客户端第一次请求服务端,服务端产生一个session对象(用于保存该客户的信息),
并且每个session对象都会有一个唯一的sessionID(用于区分其他session),
服务端产生一个Cookie,并且该Cookie的name=JSESSIONID,value=服务端的sessionId的值,
然后服务端会在响应客户端的同时将该Cookie发送给客户端,
sessionID将值复制给JSESSIONID,
然后客户端的cookie就跟服务端的session一一对应(JSESSIONID-sessionID) - session方法:
String getId();获取sessionId
boolean isNew();判断是否为新用户(第一次访问)
void invalidate();使session失效(退出登录、注销)
void setAttribute(“name”,“value”);向session写入键值。
Object getAttribute(“name”);获取对应对象。
void setMaxInactiveInterval(秒);设置最大有效非活动时间。
int getMaxInactiveInterval();获取最大有效非活动时间。
Cookie(存在于客户端,不是内置对象):Cookie是由服务端生成的,在发给客户端保存。
相当于本地缓存的作用,服务端将信息存入Cookie中发送给客户端
提高访问服务端的效率,但安全性较差。
Cookie:name=value(键值对) (javax.servlet.http.Cookie类)
构造方法:public Cookie(String name ,String value);
String getName();获取name
String getValue();获取value
void setMaxAge(int expiry);最大有效期(秒)
服务端准备Cookie给客户端:
response.addCookie(Cookie cookie);
页面跳转(转发,重定向)
客户端获取Cookie:
request.getCookies();不能直接获取单个Cookie对象,只能一次性将全部的Cookie拿到
除了自己设置的Cookie对象外,还有一个name为JSESSIONID的cookie
4. appliationn 全局对象
String getContextPath();当前项目的虚拟路径
String getRealPath(String name(虚拟路径));绝对路径(虚拟路径相对的绝对路径)