setHeader(String name, String value) 设置响应头信息,用于向浏览器表达我要做什么,比如是要返回html文 件,还是下载文件。。。。。
resp.setStatus(int sc) 设置响应状态码,HTTP/1.1 200 OK
resp.setHeader("content-type", "text/html;charset=UTF-8"); 告诉浏览器要是用什么编码
resp.getWrite(); 字符输出流,用于输出汉字
resp.getOutputStream(); 字节输出流,用于输出二进制文件,图片,视频等等
resp.setCharacterEncoding(String charset) 告知服务器使用什么编码
resp.setContentType(String type)(重点)text/html;charset=UTF-8
<!--
resp.getServletContext().getInitParameter(String name) 获取xml文件中的数据
ServletContext context = this.getServletContext();创建一个Context对象
context.setAttribute("参数名",值);添加某个键值对,用于不同网页直接的数据交互
context.getAttribute("参数名");获取某个数据
context.getRequestDispatcher("转发路径").forward(req,resp);转发,只转发网页内容,不会更改url地址
-->
<!!!!重点!!!!>
resp.sendRedirect("https://www.baidu.com");重定向
获取数据的方法:
get请求:req.getParameter("name");
post请求 req.getParameter("name");
post方式提交的数据需要提前设置编码格式:
req.setCharacterEncoding ("UTF-8");
resp.setCharacterEncoding ("UTF-8");
<!!!过滤器and监听器!!!>实现Filter接口,实现HttpSessionListener监听器接口(此处为session)
chain.doFilter(request,response);//过滤器放行
<!!!!重点!!!!>
Session:
HttpSession session = req.getSession(); //获取session
session.setAttribute("姓名:","蒋文杰"); //设置session的键值对,session可以存入对象
session.getId(); //获取session的ID
session.isNew() //判断当前session是否为新创建的
String name = (String) session.getAttribute("姓名:"); //获取session的键值对
session.invalidate(); // 注销session
也可以在web.xml中设置session的生命周期
<session-config>
<session-timeout>1</session-timeout> // 一分钟后过期
</session-config>
CooKie:
Cookie cookie = new Cookie("name","蒋文杰"); //创建cookie对象
cookie.setMaxAge(3600*24*7); //设置cookie的存活时间,单位是秒
resp.addCookie(cookie); //把这个cookie返回给客户端
req.getCookies(); //获取客户端的cookie信息,返回数组
cookie.getName() //获取cookie名字
cookie.getVlaue() //获取cookie值
jsp指令和语法
//这两个的区别在于第一个会讲两个页面进行整合,最后合并成一个页面,而第二个不会
<%@include file=""%> //用于继承某一个jsp页面的模板
<jsp:include page="" flush="true"/> //继承jsp页面模板
<%@ page contentType="text/html;charset=UTF-8" language="java" %> //jsp程序的顶部
<%pageContext.forward("/index.jsp"); //页面转发
<jsp:forward page="/jsp2.jsp"> //jsp标签形势的页面转发
<jsp:param name="name1" value="jwj"/> //页面转发的同时传递参数
</jsp:forward>
存取东西的四个对象(取东西只需set改为get)
session.setAttribute("name1","1号"); //数据只在一次会话中有效,从打开浏览器到关闭浏览器
request.setAttribute("name2","2号"); //数据只会在一次请求中有效,请走转发会带着这个数据
pageContext.setAttribute("name3","3号"); //数据只在一个页面中有效
application.setAttribute("name4","4号"); //从打开服务器到关闭服务器