先来看一下九大内置对象都有那些,如图,九大内置对象的名字、功能。九大内置对象中常用的对象有1.HttpServletRequest 2.HttpServletResponse 3.HttpSession,我们在此篇文章中就先介绍这三种。
1.HttpServletRequest(request:一次对话)
request是用来接收网页传来请求信息用的,得到信息后在Controller层做数据处理。先来看一下HttpServletRequest对象中有哪些方法,有颜色的方法是学习JSP必须要掌握的方法,未标颜色的方法需要了解(当提到HttpServletRequest对象时,能够想到这些方法即可)
(1).String = request.getParameter(“key”);
获取浏览器发送请求携带的参数信息
(2).request.setChareacterEncoding(“UTF-8”);
设置接受请求信息时的字符集(post)
(3).request.setAttribute(“key”,Object);
存储某一个自己产生的数据 业务逻辑方法的结果
(4).Object = request.getAttribute(“key”);
获取之前一次请求中request对象存储的数据
(5).RequestDispatcher = request.getRequestDispatcher(“path”);
设置-告知 转发的资源路径
rd.forward(request,response);转发
(6).Enumeration = request.getParameterNames();
//获取请求携带参数全部的key
(7).String[] = request.getParameterValues(“key”);
//获取key一致的一组value值 通常用作复选框
(8).StringBuffer = request.getRequestURL();
//Uniform Resource Locator统一资源定位器
http://localhost:8080/JSPBuiltInObject/index.jsp
(9).String = request.getRequestURI(); Uniform Resource Identifier统一资源标识符
/JSPBuiltInObject/index.jsp
(10).request.getHeader(“Accept-Language”);
//获取协议头传递的信息 国际化
(11).HttpSession = request.getSession();
2.JSP内置对象之HttpServletResponse(response)request
response是用来响应网页信息用的,我们通过request得到网页传来的信息后,通过controller层做数据处理将得到的处理结果响应给网页来做展示,这就是
(1).response.setCharacterEncoding(“UTF-8”);
设置相应的字符集
(2).PrintWriter pw = response.getWriter(); —->pw.write(“”);
//设置响应内容
(3).int statusNumber = response.getStatus();
//获取状态响应码
(4).response.setStatus(int statusNumber);
//设置响应码
(5).response.addCookie(); Cookie是在客户端(浏览器端)存储的一个记录
new Cookie(“key”,”value”); key不可以为null 且字符串长度不能为零
(6).response.sendRedirect(“path”); 用来做请求重定向
3.在这里我们来说一说请求与重定向的区别
4.JSP内置对象之HttpSession(session)
(1)session.setAttribute(“key”,Object);
将值存入session对象中
(2)Object = session.getAttribute(“key”);
获取存入session对象中的值
(3)session.setMsxInactiveInterval()10;
设置session对象活跃的时间
(4)Enumeration en = session.getAttributeNames();
//获取全部的key
(5)作用域对象
通过浏览器发来的请求信息,做处理,将处理结果根据我们的需求存到不同的作用域中,然后响应回浏览器。
pageContext 只有在当前页作用域中可以访问(xx_jsp.java当前这个类的范围内)
request 一次请求的范围之内
session 一次会话的范围内(好多次请求 同一个人)
application 全局范围之内(好多个session可以共享)