HttpServletRequest:获取来自客户端的请求
请求行:
1.request.getMethod() 获取客户端的请求方式
2.request.getrequestURI() 获取获取统一资源标识符
3.request.getRequestURL() 获取统一资源定位符
4.request.getQueryString() 获取URL上的提交的字符串
5.request.getProcotol() 获取协议版本
6.request.getScheme() 获取协议名
请求头:
1.request.getHeader() 获取请求头信息
2.request.getHeaderNames() 获取所有请求头的名字
实体内容
1.request.getParameter() 获取请求实体中的参数、或URL后的请求参数
2.request.getInputStream() 获取请求参数,当表单提交的enctype="multipart/form-data"(需要转码)
HttpservletResponse:发送给客户端的响应
应答头
1.response.setHeader() 设置应答头
2.response.setContentType("text/html; charset=utf-8") 设置响应内容及字符集
响应实体
1.response.getWriter() 获取打印流,输出字符数据
2.response.getOutputStream() 获取字节输出流,输出二进制数据
servlet中的跳转
一.请求转发 request.getRequestDispathcer("path").forward(reqeust,response);
请求转发的特点:
1.地址栏没有发生变化
2.用户对服务器只发起了一次请求(在服务器内部进行跳转)
3.请求转发只能转发本服务器以内的资源
4.由于请求是同一个对象,所以可以利用该request做servlet之间数据的传输
二.重定向:response.sendRedirect("path")
重定向的特点:
1.地址栏会发生改变
2.用户向服务器发起了两次请求(第一次请求返回后重新请求跳转)
3.重定向可以访问服务器以外的资源
4.重定向由于请求多次的,所以HttpServletRequest不是同一个对象,故不能使用它传递数据
Cookie:在浏览器中保存用户的信息
使用:由服务器创建,发送到浏览器保存,之后随着请求发回到服务器
1.创建cookie
Cookie cookie = new Cookie("name","value");
2.发送cookie到浏览器
response.addCookie(cookie对象);
3.获取来自客户端的cookie
Cookie[] cookies = request.getCookies();
使用说明:
1.cookie第一次是由servlet发送到浏览器中,第一次不能获取cookie
2.不同的浏览器存放的cookie不是同一个
3.如果设置了cookie的maxage,则cookie会保存在浏览器所在电脑的硬盘上,如果没设置该属性,则保存在浏览器的内存中(随着浏览器关闭消失)
Session:在服务器中保存用户信息
使用:在服务器端创建Session,来保存当前访问服务器的用户的信息
1.获取session(如果已经创建了session,则返回当前session)或创建session:
HttpSession session = request.getSession();
2.设置session最大不活跃时间(如果没有设置默认30分钟)
session.setMaxInactiveInteval( s) //以秒为单位
3.使用session保存信息
session.setAttribute(String key,Object value);
session.getAttribute(String key);
4.立即销毁session
session.invalidate();