一、HttpServletResponse
响应行
响应头
//告诉客户端不使用缓存
response.setHeader("pragma", "no-cache");
response.setHeader("cache-control", "no-cache");
response.setIntHeader("expires", 0);
//刷新
response.setIntHeader("refresh",1); //1s刷新一次
response.setHeader("refresh","3;url = /day09/login.html"); //url后写要跳转的地址
//告知客户端要下载文件
response.setHeader("content-disposition", "attachment;filename = "+filename);
response.setHeader("content-type", "image/jpeg"); //文件类型
响应正文
//设置服务器端编码
response.setCharacterEncoding("UTF-8");
//通知浏览器发送的数据格式
1. response.setHeader("content-type", "text/html;charset=UTF-8");
2. response.setContentType("text/html;charset=UTF-8");
//输出
response.getWriter().write("播放广告,3s跳转到登录页面"); //字符流
response.getOutputStram().write("你好".getBytes());
// Get http://localhost:8080/day09/servlet/req1?username=za
getMethod(): 获得请求方式 //get或post
***getRequestURL();返回客户端发出请求时的完整URL。 //http://localhost:8080/day09/servlet/req1
***getRequestURI(); 返回请求行中的资源名部分。 ///day09/servlet/req1
*****getContextPath(); 当前应用的虚拟目录 //day09
getQueryString() ; 返回请求行中的参数部分。 //username=zs
二、HttpServletRequest
请求消息头(不太常用)
请求正文(重要)
获取表单数据的方法
<span style="color:#cc0000;">getParameter("userName"); //根据表单中的name属性的名,获取value属性的值
<span style="color:#cc0000;">getParameterValues(name); //专业为复选框取值提供的方法,返回数组
getParameterNames(); //得到表单提交的所有name
getParameterMap //到表单提交的所有值的方法,做框架用,非常实用
getInputStream //以字节流的方式得到所有表单数据
操作非表单数据相关的方法(request也是一个域对象)
*** void setAttribute(String name, Object value);
*** Object getAttribute(String name);
Void removeAttribute(String name);
请求转发相关的方法
//得到请求转发或请求包含的协助对象
RequestDispatcher getRequestDispatcher(String path)
*** forward(ServletRequest request, ServletResponse response) //转发的方法
include(ServletRequest request, ServletResponse response) //请求包含
请求编码相关的方法:
//解决post方式编码
*****request.setCharacterEncoding("UTF-8"); //告诉服务器客户端什么编码,只能处理post请求方式
//解决get方式编码
String name = new String(name.getBytes(“iso-8859-1”),”UTF-8”);