1.Response:响应。到浏览器
1.1 方法
//设置响应行
setStatus(int );
//设置响应头
setHeader("","");
(302+)Location:重定向 | 要重定向的地址
定时跳转:Refresh: | 秒;url=地址
设置页面编码:Content-Type| text/html;charset=utf-8
下载:Content-Disposition | attachment;filename=文件名(带后缀)
//设置响应体
1)getOutputStream().write();
2)getWriter().write();
1.2 ☆☆☆重定向 ——案例
1) setStatus(302);
setHeader("Location","/Day08/login");
2) sendRedirect("/Day08/login"); —— /项目名/servleturl
1.3 ☆中文编码解决(响应体)
1)getOutputStream().write();
setHeader("Content-Type","text/html;charset=utf-8");
getOutputStream().write("中文".getBytes("utf-8"));
2)getWriter().write();
//setCharacterEncoding("utf-8");
//setHeader("Content-Type","text/html;charset=utf-8");
setContentType("text/html;charset=utf-8");
getWriter().write();
1.4 文件下载(响应头)
1)得到文件的全路径
String path = getServletContext().getRealPath();
filename;
2)setHeader("Content-Disposition","attachment;filename=" + filename);
3)流对接
InputStream is;
OutputStream os = response.getOutputStream();
4)关闭流
1.5 验证码(了解,不解释)
2.Request:请求。
2.1 方法
//获取请求行
*getMethod();
*getRequestURI(); // /项目名/请求路径
getProtocol(); //获取http版本 1.1
//获取请求头
getHeader("");
//getHeader("User-Agent");
//获取客户机信息
getRemoteAddr();//获取客户机IP
*getRequestURL();//获取请求全路径
getQueryString() //查询字符串(参数)
*getContextPath();//获取项目名称
2.2 ☆☆☆获取表单提交数据
2.2.1 方法
*getParameter("") //参数是表单中name属性的值
*getParameterValues("");//参数是表单中name属性的值
getParameterMap();
getParameterNames();
2.2.2 提交数据中文解决方案
1)post提交
设置缓存区 request.setCharacterEncoding("utf-8");
2)get提交
-更改配置 conf/server.xml 8080 URIEncoding="utf-8"
-提交数据编码EncodeURI(),后台解码 URLDecoder.decode(fileName, "utf-8");
-String构造 new String(str.getBytes("iso8895-1"),"utf-8");
2.2.3 ☆☆☆域对象(作用域)
*转发
Demo1: setAttribute("demo1","1");
request.getRequestDispatcher("/demo2").forward(request,response);
Demo2: getAttribute("demo1");
ServletContext:和项目的生命共存亡
1.1 方法
//设置响应行
setStatus(int );
//设置响应头
setHeader("","");
(302+)Location:重定向 | 要重定向的地址
定时跳转:Refresh: | 秒;url=地址
设置页面编码:Content-Type| text/html;charset=utf-8
下载:Content-Disposition | attachment;filename=文件名(带后缀)
//设置响应体
1)getOutputStream().write();
2)getWriter().write();
1.2 ☆☆☆重定向 ——案例
1) setStatus(302);
setHeader("Location","/Day08/login");
2) sendRedirect("/Day08/login"); —— /项目名/servleturl
1.3 ☆中文编码解决(响应体)
1)getOutputStream().write();
setHeader("Content-Type","text/html;charset=utf-8");
getOutputStream().write("中文".getBytes("utf-8"));
2)getWriter().write();
//setCharacterEncoding("utf-8");
//setHeader("Content-Type","text/html;charset=utf-8");
setContentType("text/html;charset=utf-8");
getWriter().write();
1.4 文件下载(响应头)
1)得到文件的全路径
String path = getServletContext().getRealPath();
filename;
2)setHeader("Content-Disposition","attachment;filename=" + filename);
3)流对接
InputStream is;
OutputStream os = response.getOutputStream();
4)关闭流
1.5 验证码(了解,不解释)
2.Request:请求。
2.1 方法
//获取请求行
*getMethod();
*getRequestURI(); // /项目名/请求路径
getProtocol(); //获取http版本 1.1
//获取请求头
getHeader("");
//getHeader("User-Agent");
//获取客户机信息
getRemoteAddr();//获取客户机IP
*getRequestURL();//获取请求全路径
getQueryString() //查询字符串(参数)
*getContextPath();//获取项目名称
2.2 ☆☆☆获取表单提交数据
2.2.1 方法
*getParameter("") //参数是表单中name属性的值
*getParameterValues("");//参数是表单中name属性的值
getParameterMap();
getParameterNames();
2.2.2 提交数据中文解决方案
1)post提交
设置缓存区 request.setCharacterEncoding("utf-8");
2)get提交
-更改配置 conf/server.xml 8080 URIEncoding="utf-8"
-提交数据编码EncodeURI(),后台解码 URLDecoder.decode(fileName, "utf-8");
-String构造 new String(str.getBytes("iso8895-1"),"utf-8");
2.2.3 ☆☆☆域对象(作用域)
*转发
Demo1: setAttribute("demo1","1");
request.getRequestDispatcher("/demo2").forward(request,response);
Demo2: getAttribute("demo1");
ServletContext:和项目的生命共存亡