request方法
getMethod();//获得请求方法
getRequestURL();//返回客服端发出请求是的完整URL
getRequesyURI();//返回请求行中的资源名部分
getContextPath();//返回当前应用的虚拟目录
getQueryString();//返回请求行中的参数部分
请求消息头
String getHeader(String name)//根据头名称获得头信息值
Enumeration getHeaderNames()//得到所有消息头name
//上面两个方法结合迭代可以输出消息头所有信息
Enumeration getHeaders(String name)//根据头名称得到相同名称头信息值
请求正文
getParameter(name) 根据表单中name属性的名称,获取value属性的值方法
getParameterValues(String name)专业为复选框提取提供的方法,复选框可能有多个值,所以返回一个字符串数组
getParameterNames()得到表单提交的所有name的方法
getParameterMap()得到表单提交的所有值的方法 //做框架用,非常实用
getInputStream() 以字节流的方式得到所有表单数据
操作非表单数据相关的方法
setAttribute(String name,Object value)
Object getAttribute(String name)
removeAttribute(String name)
getRequestDispatcher(“demoB”)请求转发,斜杠代表当前,一次请求,表单数据可以获取多次
sendRedirect(“/response/demo2”)重定向,斜杠代表8080那块地方
//请求转发可以利用setAttribute和getArrtibute传递数据,重定向不可以,
//不跳转到转发地址,和重定向不一样,重定向请求两次
//请求转发不能跳到像百度那样的其他网页,重定向可以,在引号里面直接加地址即可
//请求转发地址栏不发生变化,重定向地址栏会发生变化
getContextPath()获取当前路径
写斜杠是绝对路径,不写是相对路径
response笔记
一.HttpServletResponse
1.响应行:HTTP/1.1(固定,无法操作) 200(服务器状态) OK
2.响应头
setHeader(String name,String value)设置响应头信息,设置刷新("refresh",1)(每秒一次)
setHeaderDate()设置缓冲,
3.响应正文(主体)
getWrite();字符输出流
getOutputStream();字节输出流
setContentType(String type)设置当前文件类型
setCharacterEncoding(String charset)告知服务器使用什么编码("UTF-8")
setHeader("text/html;charset=UTF-8");//告诉浏览器使用什么编码
response.setContentType("text/html;charset=UTF-8");//上面两句话的集合
//告诉浏览器下载东西
String filename = URLEncoder.endode
response.setHeader("contend=disposition","attachment;filename="+filename);
//告诉浏览器跳转到另一个Servlet
response.setStatus(302);//告诉客户端要重新定向新的资源
response.setHeader("location","/response/demo2");//告诉浏览器该去哪个路径
response.sendRedirect("/response/demo2");//直接完成上面两步(请求重定向)