JavaWeb笔记(4)
Servlet(2)
- HttpServletRequest
①作用
服务器会把请求过来的Http协议信息解析好存放在Request中,传递到service方法中给我使用,通过HttpServletRequest可以获取在Request域中的所有请求信息
②HttpServletRequest常用方法
getRequestURI()获取请求的资源路径
getRequestURL()获取请求的统一资源定位符(绝对路径)
getRemoteHost()获取客户端IP地址
getHeader()获取请求头
getParameter(key)获取请求参数
getParameterValues()获取多个请求参数值
getMethod()获取请求方式
getAttribute(key)获取域数据
setAttribute(key,value)设置域数据
getRequestDispatcher()获取请求转发对象
③get请求中文乱码解决
new String("".getByte("iso-8859-1"),"UTF-8");
post请求中文乱码解决
req.setCharacterEncoding("UTF-8");
④请求转发
从一个资源跳转到另一个资源
一次请求,共用一个Request域
地址栏没有变化
只能转发到当前工程的资源
req.getRequestDispatcher(资源路径).forward(req,resp);
⑤固定页面相对路径工作时参照的地址
在html的< head >标签里加< base href:“路径”>
⑥/斜杠的不同意义
被服务器解析时表示到 http://ip:port/工程路径
被浏览器解析时表示到 http://ip:port
特殊情况: response.sendRediect(“/”); 把斜杠发送给浏览器解析。得到 http://ip:port/
- HttpServletResponse
使用Response返回给客户端信息
①往客户端回传数据
PrintWriter writer = resp.getWriter();
writer.write("response's content!!!");
②响应乱码解决
resp.setContentType("text/html; charset=UTF-8");
③请求重定向
重定向到指定路径,地址栏发生改变,两次请求,不使用同个Request域
resp.sendRedirect("http://localhost:8080");