Servlet中的九大内置对象
ServletConfig|config
1、ServletConfig 对象 : init-param 节点中注册的初使化参数被封装ServletConfig对象中;
2、此对象在init方法被调用时由服务器自动创建,并通过参数传递给用户;
--- 通过 init 方法拿到 ServletConfig 对象;
--- getServletConfig();
3、ServletConfig API
– getInitParameter(paraname)
ServletContext|application
1、ServletContext:整个WEB应用程序,此对象在工程运运行时创建,在服务器关闭时消失;
– 1、存放所有Servlet共享的数据
– 2、获取应用程序资源
-- 获取class路径下的资源
-- WEB根路径下的资源
–3、获取ServletContext的初使化数据
2、获取ServletContext;
HttpServletResponse|response
1.输出信息
1.通过字节流输出数据:— getOutputStream() —> ServletOutputStream
2、输出字符数据: — getWriter() — >PrintWriter;
HttpServletRequest|request
HttpServletRequest:
The servlet container creates an HttpServletRequest object and passes it as an argument to the servlet’s service methods (doGet, doPost, etc).– 接收来自用户信息(浏览器)
– getHeader(headname);
– getHeaderNames()
– get……–getParameter(参数名); —>String
–getParameterValues() —>String[]–getRequestDispatcher(url).forward(request,response);
–解决中文
1、获取网页中的表单数据
request.getParameter(“参数名”);
解决中文乱码问题:
1、单个重新编码
String str = new String (data.getBytes(“ISO-8859-1”,”UTF-8”);
2、统一设置
request.setCharacterEncoding(“UTF-8”);
2、获取URL中的参数数据
request.getParameter("参数名");
String add = request.getParmeter("add");
String data = new String(add.getBytes("ISO-8859-1"),"UTF-8");
HttpSession|session
HTTPSession:会话(当请求或者访问一个网页,就标识与当前页面建立了一次会话);可以在会话的对象存放数据(标识用户身份的数据),此数据在下一个页面中可以取到(session对象中所存放的数据可以跨页面访问)
– HttpSession session = request.getSession();
– 1、可以在session对象中存放数据;此数据可以跨页面访问
– 2、当访问某一个页面时,服务器会给每一个用户创建一个sessionid,sessionid是唯一的
此sessionid在服务器内存中存一份,同发送给用户;当提交网页到服务器;将用户端的sessionid和服务器存的sessionid做比对,以判断是哪一个用户提交的;
–3、存活期:默认为30分钟
PrintWriter|JspWriter|out
this(page)
pageContext
exception
只能在标识 isErrorPage的页面中使用
2、Servlet三大域对象
ServletContext|application
HttpSession|session
HttpServletRequest|request
三大域对象都可以存数据,并都可以在页面中取出域对象中的数据
HttpServletRequest域对象中存放数据在同一个Request请求中有效;