out隐含对象:这个对象用来输出在JSP页面上显示的信息.
out.print("Hello");out.printl("World!")这个表示产生成的HTML不会换行,查看HTML原代码,可以显示出<html>
<head>
</head>
<body>
Hello World!
</body>
</html>
out.println("Hello");out.println("World!");它只是在产生的HTML代码中换行,而不会在显示的时候换行。
-------------------------------------------------------------------------------------------------------------------------------
request隐含对象
用来获取从其它页面传递过来的参数,实现页面的跳转(转发),可以用来将变量存储于request作用范围.
常用的方法有:获得单一: String getParameter(参数名字);取得多值参数的方法:String[ ]getParameterValues(参数名字);将一个变量的名字和值,设置于request作用范围中: void setAttribute(String name,String paramValue);在转向另一页面取得:String getAttribute(String name);如果要实现两个Servlet程序之间传递数据时,用RequestDispatcher go = request.getRequestDispatcher(Stirng path)获得目标地址的路径,go.forward(ServletRequest request,ServletResponse response);也可以将目标资源包含到本页面来:RequestDispatcher go = request.getRequestDispatcher(String path),go.include(ServletRequest request,ServletResponse);可以定义request对象中的parameter参数的字符编码标准.setCharacterEncoding();也可以读取客户端和服务器的系信息;用request读取HTTP请求报头信息:String getHeader(String 报头名字);
用request读取cookie对象中的信息:Cookie的构造方法:Cookie cookie = new Cookie(String name,String value);name为数据的变量名,value为要保存的数据.
cookie是有生命周期的:定义cookie生命周期:void setMaxAge(int expiry)形参为时间数,单位为秒.cookie对象可以保存在临时文件可以将参数设为负整数,如果保存在硬盘中形参设为正整数。如果生命期设为零的话,表示删除这个cookie对象.
request可以选择国际化信息:Locale a = request.getLocale();这样就获得了客户端转过来的国际化编码信息。
--------------------------------------------------------------------------------------------------------------------------------------
response隐含对象
可以用来响应信息.
重定向到另一个页面。
与输出缓冲区有一定的关系,缓冲区可以减少客户端与服务端的通信次数。response.flushBuffer()刷新输出缓冲区中的信息传递给客户端.
setBufferSize()定义输出缓冲区的大小,单位为字节
缓冲区中的信息是否已经提交了查看方法:isCommited();
HTTP响应报头设置setContentType(String type);
例如:setContentType("text/html;charset=gb2312");
setCharacterEncoding(String charset)返回客户端信息的编码标准:
setError(int sc)表示向客户端返回HTTP响应码;
response也可以实现文件下载:<%@ contentType="application/x-download" import="java.io.*"%>
----------------------------------------------------------------------------------------------------------
application隐含对象
用来读取Servlet容器中的信息。同一个web应用程序中的数据可以用application来读取它。这样方便了不同的Servlet程序之间共享数据。
读取web.xml中的初始化参数值。
<context-param>
<param-name>name</param-name>
<param-value>value </param-value>
</context-param>
Enumeration getInitParameterNames();返回一个枚举型对象包含多个参数名:
Enumeration enum = application.getInitParameterNaems();
while(enum.hasMoreElements()){
String n = (String)enum.nextElement();
String v = (String)application.getInitParameter(n);
}
这样就取得了初始化参数的名和值了。
application可以用来记录日志的功能。log(String 信息);记录在tomcat\logs文件夹下
log(String message,Throwable throwable)
application同样也有作用范围变量的。设置和取得作用范围变量的方法同request对象。
------------------------------------------------------------------------------------------------------------------------
session隐含对象
session是用来记录客户在会话时用到的临时数据。session也有生命期的。
实现session跟踪有四种方法:URL重写,cookie实现session跟踪,用隐藏表单域实现,session作用范围实现。
用session可以记录验证码/
------------------------------------------------------------------------------------------------------
cofing隐含对象
常用于给Servlet程序传递初始化参数。Enumeration e = config.getInitParameterNaems();
--------------------------------------------------------------------------------------------------------------------------------------------
exception隐含对象
<%@ page isErrorPage="true"%>
这样就表示这个页面是异常处理页面。
--------------------------------------------------------------------------------------------------------------------------------------------
page隐含对象
相当于一个java类中的this对象。
--------------------------------------------------------------------------------------------------------------------------------------------
pageContext隐含对象
这个对象可就历害了,它可以产生其它隐含对象。
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
可以像request对象一样实现转发和包含其它页面。
pageContext.forward(String path);
pageContext.include(String path);