由于隐式对象的方法实在太多,太难记。所以单独开一篇博客记录。以后在做项目用到这些方法的时候,会增加一些案例放到博客上,便于理解。
九大隐式对象可以分为四类
第一类:与输入输出有关的
request请求对象
response响应对象
out输出对象
第二类:与作用域范围有关的
pageContext页面作用域
request请求作用域
session会话作用域
application应用作用域
第三类:与配置有关的
config配置对象
page页面本身的对象
第四类:与异常有关的
exception异常对象
隐式对象的常用方法:
out
out.println();//输出到页面
out.write("");//输出到页面
out.append("");//追加到页面
out.flush();//清空缓冲区
out.close();//关闭流
response
response.encodeURL("");//编码URL
response.getCharacterEncoding();///获取响应的字符编码
response.setCharacterEncoding("");//设置响应的字符编码
response.getContentType();//获取页面的内容字符编码
response.setContentType("");设置页面的内容字符编码
例:response.setContentType("text/html;charset=utf-8");
response.sendRedirect("");//重定向页面
例:String url="seccess.jsp?uNick="+uNick;//用查询字符串转发页面,适合传递一些数字或字母信息
String newUrl=response.encodeRedirectURL(url);//编码
response.sendRedirect(newurl);//这里不用getRequestDispatcher()方法,
response.getWriter();//获取输出流对象(文本流)out
response.getOutputStream();//获取输出流对象(字节流)
response.addCoodie(new Cookie("",""));//添加Cookie
request
request.getSession();//获取会话session对象
request.getAttribute("");//从request作用域范围获取属性
获得的值为Object型
request.setAttribute("","");//从request作用域范围设置属性
例://设置uName的值的名称为niChen,然后转发到success.jsp页面
request.setAttribute("niChen",uName);
request.getRequestDispatcher("success.jsp").forward(request,response);
//success.jsp页面接收niChen
String uName=(String)request.getAttribute("niChen");
//这种方法可以传递一些编码比较复杂的文字
request.removeAttribute("");//从查询字符串获取一个参数
request.getParameter("");//从查询字符串获取一个参数
request.getParameterValues("");//从查询字符串获取一组参数(同名的参数自动分为一组),通常用于获取单选、复选按钮或下拉菜单的值
request.getRequesDispatcher("");//获取转发器RequestDipatcher对象(该对象可以完成包含或者转发功能),完成页面转发的功能
例:if(rs.next()){request.getRequestDispatcher("success.jsp").forward(request,response);}
//如果查数据库成功,就转发到success.jsp页面,带着request和response对象
request.getCharacterEncoding();//获取请求的字符编码
request.setCharacterEncoding();//设置请求的字符编码
request.getContentType();//获取请求页面的内容字符编码
request.getCookies();//获取请求中的Cookie对象数组
request.getRequestURL();//获取请求的URL
request.getRequestURI();//获取请求的URI
request.getServletContext();//获取appliction对象
request.getServletPath();//获取资源位置
session
session.getAttribute("");//从session作用域范围获取属性
session.getAttribute("","")//从session作用域范围设置属性
session.removeAttribute("");//从session作用域范围移除属性
session.getId();//获取会话Id
session.getCreationTime();//获取回话的创建时间
session.getLastAccessedTime();//获取会话上次访问的时间
session.getMaxInactiveInterval();//获取会话的最大生存时间
session.setMaxInactiveInerval(1000);//设置会话的最大生存时间
session.getServletContext();//获取应用application对象
session.invalidate();//设置会话失效
session.isNew();//判断会话是否是新创建出来的,主要是第一次请求会创建会话
pageContext
pageContext.getAttribute("");//pageContext作用域范围获取属性
pageContext.setAttribute("","");//从pageContext作用域范围设置属性
pageContext.removeAttribute("");//从pageContext作用域范围移除属性
pageContext.findAttribute("");//从pageContext作用域范围查找属性
pageContext.getException();//获得异常exception对象
pageContext.getOut();//获取输出out对象
pageContext.getPage();//获取页面page对象
pageContext.getRequest();//获取请求request对象
pageContext.getResponse();//获取请求response对象
pageContext.getSession();//获取会话session对象
pageContext.getSerletContext();//获取应用application对象
pageContext.getServletConfig();//获取配置config对象
pageContext.include("");//包含页面(<jsp:include>标准动作其实就是调用了该方法)
pageContext.forward("");//转发页面(<jsp:forward>标准动作其实就是调用了该方法)
application
application.getAttribute("");//从applivation作用域
application.setAttribute("","");//从applivation作用域
application.removeAttribute("");//从applivation作用域
application.getRealPath("");//获取资源物理位置
application.getContext("");//获取上下文,给顶一个资源路径,获得上下文对象
application.getContextPath();//获取上下文路径,主要是获取Web应用名
application.getInitParameter("");//获取指定的初始化参数
application.getInitParameterNames();//获取所有的初始化参数名
config
config.getInitParameter("");//获取指定的初始化参数
config.getInitParameterNames();//获取所有的初始化参数名
config.getServletContext();//获取应用application对象
config.getServletName();//获取Servlet名称
exception
exception.printStackTrace();//输出异常栈信息
exception.getMessage();//获取异常信息