请求对象的作用:
提取客户端请求信息
String clientIP=request.getRemoteAddr();//获取客户端IP
String method=request.getMethod();//获取方法
String xieyi=request.getProtocol();//获取协议
String queryString=request.getQueryString();//获取请求参数
int clientPort=request.getRemotePort();//获取客户机所使用的网络端口号
String clientUser=request.getRemoteUser();//获取客户端名称
String sessionId=request.getRequestedSessionId();
String uri=request.getRequestURI();//请求行中的资源名部分
String url=request.getRequestURL().toString();//客户端发出请求时的完整URL
提取客户端表单信息
String strName=request.getParameter("name");
提取HTTP请求报头信息
String user_agent=request.getHeader("User-Agent");
System.out.println("user-agent:"+user_agent);
cookie
Cookie [] cookies=request.getCookies();//获取cookie
修改字符集
request.setCharacterEncoding("utf-8");
在服务器端保存值 ?
HttpSession session = request.getSession();
session.setAttribute("username", "zhangsan");//在服务端保存用户张三
Web资源跳转 —请求转发
request.getRequestDispatcher("result.jsp").forward(request, response);
响应对象的作用–
设置响应字符集–
response.setCharacterEncoding("utf-8");
向客户端输出信息•
输出DHTML和数据•
//输出html
response.setContentType("text/html;charset=utf-8");
PrintWriter writer=response.getWriter();
writer.write("<html><body><div>ok,yyds</div></body></html>");
writer.flush();
输出二进制文件•
输出Cookie• 客户端电脑硬盘里保存的一段文本
//输出cookie: 商品编号:123 商品名字:adidas 风衣 商品数量:3
Cookie codeCookie=new Cookie("code", 123+"");
Cookie nameCookie=new Cookie("name", "adidas");
Cookie quantityCookie=new Cookie("quantity", 3+"");
//设置cookie的寿命
codeCookie.setMaxAge(3600*24*7);
nameCookie.setMaxAge(3600*24*7);
quantityCookie.setMaxAge(3600*24*7);
// cookie不支持中文,可以讲内容进行加密,或者编码,这样就避免了中文
// cookie建议设置路径,如果不设置可能放大作用域
//cookie不是万能的,浏览器可以禁止写cookie
codeCookie.setPath(request.getContextPath()+"/");
nameCookie.setPath(request.getContextPath()+"/");
quantityCookie.setPath(request.getContextPath()+"/");
response.addCookie(codeCookie);
response.addCookie(nameCookie);
response.addCookie(quantityCookie);
输出XML(Ajax)
–Web资源跳转 — 请求重定向
response.sendRedirect(request.getContextPath()+"/test.jsp");