request与response

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();

猜你喜欢

转载自www.cnblogs.com/user001/p/10846563.html