1.request物件


request物件是javax.servlet.HTTP.HttpServletRequest介面實現類的一個實例,它代表著一個HTTP請求。(javax.servlet.HTTP.HttpServle

tRequest 介面擴展了javax.servlet.HTTP.HttpServletRequest介面。

序號 方 法 說 明
1 object getAttribute(String name) 返回指定屬性的屬性值
2 Enumeration getAttributeNames() 返回所有可用屬性名的枚舉
3 String getCharacterEncoding() 返回字元編碼方式
4 int getContentLength() 返回請求體的長度(以位元組數)
5 String getContentType() 得到請求體的MIME類型
6 ServletInputStream getInputStream() 得到請求體中一行的二進位流
7 String getParameter(String name) 返回name指定參數的參數值
8 Enumeration getParameterNames() 返回可用參數名的枚舉
9 String[] getParameterValues(String name) 返回包含參數name的所有值的陣列
10 String getProtocol() 返回請求用的協定類型及版本號
11 String getScheme() 返回請求用的計畫名,如:HTTP.HTTPs及ftp等
12 String getServerName() 返回接受請求的伺服器主機名稱
13 int getServerPort() 返回伺服器接受此請求所用的埠號
14 BufferedReader getReader() 返回解碼過了的請求體
15 String getRemoteAddr() 返回發送此請求的用戶端IP位址
16 String getRemoteHost() 返回發送此請求的用戶端主機名稱
17 void setAttribute(String key,Object obj) 設置屬性的屬性值
18 String getRealPath(String path) 返回一虚拟路径的真实路径



<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
<title>request对象_例1</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
<input type="text" name="qwe">
<input type="submit" value="提交">
</form>
请求方式:<%=request.getMethod()%><br>
请求的资源:<%=request.getRequestURI()%><br>
请求用的协议:<%=request.getProtocol()%><br>
请求的文件名:<%=request.getServletPath()%><br>
请求的服务器的IP:<%=request.getServerName()%><br>
请求服务器的端口:<%=request.getServerPort()%><br>
客户端IP地址:<%=request.getRemoteAddr()%><br>
客户端主机名:<%=request.getRemoteHost()%><br>
表单提交来的值:<%=request.getParameter("qwe")%><br>
</body>
</html>
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<%@ page import="java.util.Enumeration"%>
<html>
<head>
<title>request对象_例2</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
用户名:<input type="text" name="username">&nbsp;&nbsp;
密 码:<input type="text" name="userpass">&nbsp;&nbsp;
<input type="submit" value="进入" >
</form>
<%
String str="";
if(request.getParameter("username")!=null && request.getParameter("userpass")!=null){
Enumeration enumt = request.getParameterNames();
while(enumt.hasMoreElements()){
str=enumt.nextElement().toString();
out.println(str+":"+request.getParameter(str)+"<br>");
}
}
%>
</body>
</html>
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
<title>request对象_例3</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
擅长:<input type="checkbox" name="cb" value="ON1">VC++&nbsp;
<input type="checkbox" name="cb" value="ON2">JAVA&nbsp;
<input type="checkbox" name="cb" value="ON3">DELPHI&nbsp;
<input type="checkbox" name="cb" value="ON4">VB&nbsp;
<br>
<input type="submit" value="进入" name="qwe">
</form>
<%
if(request.getParameter("qwe")!=null ){
for(int i=0;i<request.getParameterValues("cb").length;i++){
out.println("cb"+i+":"+request.getParameterValues("cb")[i]+"<br>");
}
out.println(request.getParameter("qwe"));
}
%>
</body>
</html>
 
 

2.response对象



response对象是javax.servlet.http.HttpServletResponse接口实现类的一个实例,它代表着一个HTTP响应。(javax.servlet.http.HttpServl

etResponse實現了javax.servlet.ServletResponse)

序號 方 法 說 明
1 String getCharacterEncoding() 返回回應用的是何種字元編碼
2 ServletOutputStream getOutputStream() 返回回應的一個二進位輸出流
3 PrintWriter getWriter() 返回可以向用戶端輸出字元的一個物件
4 void setContentLength(int len) 設置回應頭長度
5 void setContentType(String type) 設置回應的MIME類型
6 sendRedirect(java.lang.String location) 重新定向用戶端的請求
 
 

3.session物件

session物件指的是用戶端與伺服器的一次會話,從客戶連到伺服器的一個WebApplication開始,直到用戶端與伺服器斷開連接為止。它是

HttpSession類的實例.

序號 方 法 說 明
1 long getCreationTime() 返回SESSION創建時間
2 public String getId() 返回SESSION創建時JSP引擎為它設的惟一ID號
3 long getLastAccessedTime() 返回此SESSION裡用戶端最近一次請求時間
4 int getMaxInactiveInterval() 返回兩次請求間隔多長時間此SESSION被取消(ms)
5 String[] getValueNames() 返回一個包含此SESSION中所有可用屬性的陣列
6 void invalidate() 取消SESSION,使SESSION不可用
7 boolean isNew() 返回伺服器創建的一個SESSION,用戶端是否已經加入
8 void removeValue(String name) 刪除SESSION中指定的屬性
9 void setMaxInactiveInterval() 設置兩次請求間隔多長時間此SESSION被取消(ms)
 

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*" %>
<html>
<head><title>session物件_例1</title><head>
<body><br>
session的創建時間:<%=session.getCreationTime()%>&nbsp;&nbsp;<%=new Date(session.getCreationTime())%><br><br>
session的Id號:<%=session.getId()%><br><br>
用戶端最近一次請求時間:<%=session.getLastAccessedTime()%>&nbsp;&nbsp;<%=new java.sql.

Time(session.getLastAccessedTime())%><br><br>
兩次請求間隔多長時間此SESSION被取消(ms):<%=session.getMaxInactiveInterval()%><br><br>
是否是新創建的一個SESSION:<%=session.isNew()?"是":"否"%><br><br>
<%
session.putValue("name","霖苑程式設計");
session.putValue("nmber","147369");
%>
<%
for(int i=0;i<session.getValueNames().length;i++)
out.println(session.getValueNames()[i]+"="+session.getValue(session.getValueNames()[i]));
%>
<!--返回的是从格林威治时间(GMT)1970年01月01日0:00:00起到计算当时的毫秒数-->
</body>
</html>
 
 
 

4.out对象

out对象是JspWriter类的实例,是向客户端输出内容常用的对象

序号 方 法 说 明
1 void clear() 清除缓冲区的内容
2 void clearBuffer() 清除缓冲区的当前内容
3 void flush() 清空流
4 int getBufferSize() 返回缓冲区以字节数的大小,如不设缓冲区则为0
5 int getRemaining() 返回缓冲区还剩余多少可用
6 boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常
7 void close() 关闭输出流
 

<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>out对象_例1:缓存测试</title></head>
<%@page buffer="1kb"%>
<body>
<%
for(int i=0;i<2000;i++)
out.println(i+"{"+out.getRemaining()+"}");
%><br>
缓存大小:<%=out.getBufferSize()%><br>
剩余缓存大小:<%=out.getRemaining()%><br>
自动刷新:<%=out.isAutoFlush()%><br>
<%--out.clearBuffer();--%>
<%--out.clear();--%>
<!--缺省情况下:服务端要输出到客户端的内容,不直接写到客户端,而是先写到一个输出缓冲区中.只有在下面三中情况下,才会把该缓冲区的

內容輸出到用戶端上:
1.該JSP網頁已完成資訊的輸出
2.輸出緩衝區已滿
3.JSP中調用了out.flush()或response.flushbuffer()
-->
</body>
</html>
 
 
 

5.page物件
page物件是jsp頁面實現類的一個實例,它在頁面被解釋的時候自動創建,在jsp頁面中,page與this是相同的.
page物件就是指向當前JSP頁面本身,有點象類中的this指標,它是java.lang.Object類的實例

序號 方 法 說 明
1 class getClass 返回此Object的類
2 int hashCode() 返回此Object的hash碼
3 boolean equals(Object obj) 判斷此Object是否與指定的Object物件相等
4 void copy(Object obj) 把此Object拷貝到指定的Object物件中
5 Object clone() 克隆此Object物件
6 String toString() 把此Object物件轉換成String類的物件
7 void notify() 喚醒一個等待的執行緒
8 void notifyAll() 喚醒所有等待的執行緒
9 void wait(int timeout) 使一個執行緒處於等待直到timeout結束或被喚醒
10 void wait() 使一個執行緒處於等待直到被喚醒
11 void enterMonitor() 對Object加鎖
12 void exitMonitor() 對Object開鎖
   
 

6.application物件

application物件實現了使用者間資料的共用,可存放全域變數。它開始于伺服器的啟動,直到伺服器的關閉,在此期間,此物件將一直存在

;這樣在使用者的前後連接或不同使用者之間的連接中,可以對此物件的同一屬性進行操作;在任何地方對此物件屬性的操作,都將影響到其他用

戶對此的訪問。伺服器的啟動和關閉決定了application物件的生命。它是ServletCoNtext類的實例。

序號 方 法 說 明
1 Object getAttribute(String name) 返回給定名的屬性值
2 Enumeration getAttributeNames() 返回所有可用屬性名的枚舉
3 void setAttribute(String name,Object obj) 設定屬性的屬性值
4 void removeAttribute(String name) 刪除一屬性及其屬性值
5 String getServerInfo() 返回JSP(SERVLET)引擎名及版本號
6 String getRealPath(String path) 返回一虛擬路徑的真實路徑
7 ServletCoNtext getCoNtext(String uripath) 返回指定WebApplication的application物件
8 int getMajorVersion() 返回伺服器支援的Servlet API的最大版本號
9 int getMinorVersion() 返回伺服器支援的Servlet API的最大版本號
10 String getMimeType(String file) 返回指定檔的MIME類型
11 URL getResource(String path) 返回指定資源(檔及目錄)的URL路徑
12 InputStream getResourceAsStream(String path) 返回指定資源的輸入流
13 RequestDispatcher getRequestDispatcher(String uripath) 返回指定資源的RequestDispatcher物件
14 Servlet getServlet(String name) 返回指定名的Servlet
15 Enumeration getServlets() 返回所有Servlet的枚舉
16 Enumeration getServletNames() 返回所有Servlet名的枚舉
17 void log(String msg) 把指定消息寫入Servlet的日誌檔
18 void log(Exception exception,String msg) 把指定異常的棧軌跡及錯誤訊息寫入Servlet的日誌檔
19 void log(String msg,Throwable throwable) 把栈轨迹及给出的Throwable异常的说明信息 写入Servlet的日志文件
20
 

<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION对象_例1</title><head>
<body><br>
JSP(SERVLET)引擎名及版本号:<%=application.getServerInfo()%><br><br>
返回/application1.jsp虚拟路径的真实路径:<%=application.getRealPath("/application1.jsp")%><br><br>
服务器支持的Servlet API的大版本号:<%=application.getMajorVersion()%><br><br>
服务器支持的Servlet API的小版本号:<%=application.getMinorVersion()%><br><br>
指定资源(文件及目录)的URL路径:<%=application.getResource("/application1.jsp")%><br><br><!--可以将application1.jsp换成一个目录

-->
<br><br>
<%
application.setAttribute("name","霖苑计算机编程技术培训学校");
out.println(application.getAttribute("name"));
application.removeAttribute("name");
out.println(application.getAttribute("name"));
%>
</body>
</html>
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION对象_例2</title><head>
<body><br>
<!--由于application一直存在于服务器端,可以利用此特性对网页记数-->
<%
if(application.getAttribute("count")==null)
application.setAttribute("count","1");
else
application.setAttribute("count",Integer.toString(Integer.valueOf(application.getAttribute("count").toString()).intValue()+1)

);
%>
你是第<%=application.getAttribute("count")%>位訪問者
</body>
<!--由於getAttribute()方法得到的是一個Object類型物件,用getString()方法轉化為String類型-->
<!--用Integer類的valueOf()方法把得到的String轉化成Integer的物件,在用intValue()方法得到int型,再加1,最後把計算的結果用Integer.t

oString()方法轉化成setAttribute()方法所要求的String類型-->
</html>
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>APPLICATION物件_例3</title><head>
<body><br>
<!--由於application一直存在於伺服器端,可以利用此特性對網頁記數-->
<%
String str=application.getAttribute("count").toString();//getAttribute("count")返回的是Object類型
int i=0;
if(str==null)
application.setAttribute("count","1");
else
i=Integer.parseInt(str); //out.println(i);
application.setAttribute("count",++i+"");
%>
你是第<%=application.getAttribute("count")%>位訪問者
</body>
</html>
7.exception物件

exception物件是一個例外物件,當一個頁面在運行過程中發生了例外,就產生這個物件。如果一個JSP頁面要應用此物件,就必須把isErrorPa

ge設為true,否則無法編譯。他實際上是java.lang.Throwable的物件

序號 方 法 說 明
1 String getMessage() 返回描述異常的消息
2 String toString() 返回關於異常的簡短描述消息
3 void printStackTrace() 顯示異常及其棧軌跡
4 Throwable FillInStackTrace() 重寫異常的執行棧軌跡
5
 

8.pageCoNtext物件
ageCoNtext物件是javax.servlet.jsp.PageCoNtext類的一個ie實例,它代表著jsp頁面的上下文環境,用來存儲和訪問jsp頁面中所具有page作

用域的物件。pageCoNtext物件的作用域為page,也就是說它只能在與其關聯的jsp頁面內被訪問,而不能在其他地方訪問。

序號 方 法 說 明
1 JspWriter getOut() 返回當前用戶端回應被使用的JspWriter流(out)
2 HttpSession getSession() 返回當前頁中的HttpSession物件(session)
3 Object getPage() 返回當前頁的Object物件(page)
4 ServletRequest getRequest() 返回當前頁的ServletRequest物件(request)
5 ServletResponse getResponse() 返回當前頁的ServletResponse物件(response)
6 Exception getException() 返回當前頁的Exception物件(exception)
7 ServletConfig getServletConfig() 返回當前頁的ServletConfig物件(config)
8 ServletCoNtext getServletCoNtext() 返回當前頁的ServletCoNtext物件(application)
9 void setAttribute(String name,Object attribute) 設置屬性及屬性值
10 void setAttribute(String name,Object obj,int scope) 在指定範圍內設置屬性及屬性值
11 public Object getAttribute(String name) 取屬性的值
12 Object getAttribute(String name,int scope) 在指定範圍內取屬性的值
13 public Object findAttribute(String name) 尋找一屬性,返回起屬性值或Null
14 void removeAttribute(String name) 刪除某屬性
15 void removeAttribute(String name,int scope) 在指定範圍刪除某屬性
16 int getAttributeScope(String name) 返回某屬性的作用範圍
17 Enumeration getAttributeNamesInScope(int scope) 返回指定範圍內可用的屬性名枚舉
18 void release() 釋放pageCoNtext所佔用的資源
19 void forward(String relativeUrlPath) 使當前頁面重導到另一頁面
20 void include(String relativeUrlPath) 在當前位置包含另一檔
21

 

<%@page contentType="text/html;charset=gb2312"%>
<html><head><title>pageCoNtext物件_例1</title></head>
<body><br>
<%
request.setAttribute("name","霖苑程式設計");
session.setAttribute("name","霖苑電腦程式設計技術培訓");
//session.putValue("name","電腦程式設計");
application.setAttribute("name","培訓");
%>
request設定的值:<%=pageCoNtext.getRequest().getAttribute("name")%><br>
session設定的值:<%=pageCoNtext.getSession().getAttribute("name")%><br>
application設定的值:<%=pageCoNtext.getServletCoNtext().getAttribute("name")%><br>
範圍1內的值:<%=pageCoNtext.getAttribute("name",1)%><br>
範圍2內的值:<%=pageCoNtext.getAttribute("name",2)%><br>
範圍3內的值:<%=pageCoNtext.getAttribute("name",3)%><br>
範圍4內的值:<%=pageCoNtext.getAttribute("name",4)%><br>
<!--從最小的範圍page開始,然後是reques、session以及application-->
<%pageCoNtext.removeAttribute("name",3);%>
pageCoNtext修改後的session設定的值:<%=session.getValue("name")%><br>
<%pageCoNtext.setAttribute("name","應用技術培訓",4);%>
pageCoNtext修改後的application設定的值:<%=pageCoNtext.getServletCoNtext().getAttribute("name")%><br>
值的查找:<%=pageCoNtext.findAttribute("name")%><br>
屬性name的範圍:<%=pageCoNtext.getAttributesScope("name")%><br>
</body></html>
 
<% pageCoNtext.getServletCoNtext().getRequestDispatcher("/xx.jsp").include(request.response)
pageCoNtext.getServletCoNtext().getRequestDispatcher("/xx.jsp").forward(request.response)
%> 

9.config物件

config物件是在一個Servlet初始化時,JSP引擎向它傳遞資訊用的,此資訊包括Servlet初始化時所要用到的參數(通過屬性名和屬性值構

成)以及伺服器的有關資訊(通過傳遞一個ServletCoNtext物件)

序號 方 法 說 明
1 ServletCoNtext getServletCoNtext() 返回含有伺服器相關資訊的ServletCoNtext物件
2 String getInitParameter(String name) 返回初始化參數的值
3 Enumeration getInitParameterNames() 返回Servlet初始化所需所有參數的枚舉

10. this物件 相當於pageCoNtext物件

轉載于:HTTP://hi.baidu.com/like_dark/blog/item/c9ec24df41d0f21562279860.html
創作者介紹

資訊園

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()