1.1 out(向客戶端輸出各種數據類型)
重要方法:
-- out.print(類型) 或 out.println(類型):換行輸出
-- out.newLine():輸出一個換行符號
-- out.flush():輸出緩沖區的數據
-- out.close():關閉輸出流
-- out.clearBuffer():清除緩沖區里的數據,并把數據寫到客戶端
-- out.clear():清除緩沖區里的數據,但不把數據寫到客戶端
-- out.getBufferSize():獲得緩沖區的大小,緩沖區的大小可用<%@page buffer=”size”%>設置
-- out.getRemaining():獲得緩沖區沒有使用的空間的大小
-- out.isAutoFlush():返回布爾值,若auto flush則返回true,否則返回false。是否auto fush我們可用%@page is AutoFlush=”true/false”%來設置
注意:中文顯示問題
-- 若是直接賦值的中文字符串,用<%@ page contentType=”text/html;charset=gb2312”%>就可正常顯示。但不能用getStr(String name)函數或類似的函數轉換內碼,否則不能正常顯示中文。
-- 若是request傳過來的中文字符串,必須要用getStr(String name)函數或類似的函數轉換內碼,否則不能正常顯示中文。
如:String aa=str;
byte[] aa=aa.getBytes(“ISO8859-1”);
String bb=new String(aa);
-- 在不同平臺、不同的服務器jsp中文問題的解決方法各不相同,可自行試驗。
1.2 request(接受客戶端輸入的信息)
作用:主要用于接受客戶端通過http協議連接傳輸到服務器端的數據。
方法:
-- getCookies():返回客戶端的cookie對象,結果是一個cookie數組
-- getHeader(String name):獲得http協議定義的傳送文件頭信息,
如:request.getHeader(“User-agent”)返回客戶端瀏覽器的版本號、類型
-- getAttribute(String name):返回name指定的屬性值,若不存在指定的屬性,就返回空值(null)。
-- getattributeNames():返回request對象所有屬性的名字,結果集是一個Enumeration(枚舉)類的實例
-- getHeaderNames():返回所有request header的名字,結果集是一個Enumeration(枚舉)類的實例
-- getHeaders(String name):返回指定名字的request header的所有值,結果集是一個Enumeration(枚舉)類的實例
-- getMethod():獲得客戶端向服務器端傳送數據的方法有GET、POST、PUT等類型
-- getParameter(String name):獲得客戶端傳送給服務器端的參數值,該參數由name指定
-- get parameterNames():獲得客戶端傳送給服務器端的所有的參數名,結果集是一個Enumeration(枚舉)類的實例
-- getParameterValues(String name):獲得指定參數所有值
-- getQueryString()獲得查詢字符串,該串由客戶端以GET方法向服務器端傳送
-- getRequestURI():獲得發出請求字符串的客戶端地址
-- getServletPath():獲得客戶端所請求的腳本文件的文件路徑
-- setAttribute(String name,Java.lang.Object o):設定名字為name的request參數值,該值由Object類型的o指定
-- getServerName():獲得服務器的名字
-- getServerPort():獲得服務器的端口號
-- getRemoteAddr():獲得客戶端的IP地址
-- getRemoteHost():獲得客戶端電腦的名字,若失敗,則返回客戶端電腦的IP地址
-- getProtocol():獲取客戶端向服務器端傳送數據所依據的協議名稱,如http/1.1
1.3 application(保存用戶信息)
作用:一旦創建,除非服務器關閉,否則將一直保持下去
application.setAttribute(“name”,val)
request.setAttribute(“name”,val)
方法:
-- getAttribute(String name):返回由name指定名字的application對象屬性的值,這是個Object對象
-- getattributeNames():返回所有application對象屬性的名字,結果集是一個Enumeration(枚舉)類的實例
-- getInitParameter(String name): 返回application栽個屬性的初始值,此屬性由name指定
-- getServerInfo():獲得當前版本Servlet編譯器的信息
-- setAttribute(String name,Object object):用object來初始化某個屬性,該屬性由name指定
例:簡單計數器(E:"app"java"tomcat322"webapps"myjsp" count.jsp)
1.4 response(控制http連接)
作用:向客戶端發送數據,如Cookie、HTTP文件關信息等。
方法:
-- addCookie(Cookie cookie):添加1個Cookie對象,用來保存客戶端的用戶信息。用request的getcookies()方法可獲得這個Cookie
如:<% Cookie mycookie=new Cookie(“uname”,”wsr”);
response.addCookie(mycookie);
Cookie delmycookie=new cookie(“mycookie”,null);
delmycookie .setMaxAge(0);
delmycookie .setPath(/”);
response.addCookie(delmycookie);
%>
-- addHeader(String name,String value):添加HTTP文件頭,該header將會傳到客戶端,若同名的header存在,原來的header會被覆蓋
-- containsHeader(String name):判斷指定名字的HTTP文件頭是否存在并返回布爾值
-- sendError(int sc):向客戶端發送錯誤信息,如:505:服務器內部錯誤;404:網頁找不到錯誤
如:response.sendError(response.SC_NO_CONTENT);
-- setHeader(String name,String value):設定指定名字的HTTP文件頭的值,若該值存在,它將會被新值覆蓋
如1:讓網頁每隔5秒刷新一次
<% response.setHeader(“Refresh”,”5”);%>
the current dateis:<%=new Date()%>
如2:利用response對象設定HTTP頭
<% response.setContentType(“Application/pdf”);
response.setHeader(“content-disposition”,”attachment;filename="”syntax.pdf"””);
%>
-- sendRedirect(“http://www.foo.com/path/error.html”):重定向功能
1.5 exception(處理異常和錯誤)
作用:處理JSP文件在執行時所有發生的錯誤和異常。有3個內建方法。
注意:必須在<%@ page isErrorPage=”true”%>的情況下才可以使用Exception對象
-- getMessage():返回錯誤信息
-- printStackTrace():以標準錯誤的形式輸出一個錯誤和錯誤的堆棧
-- toString():以字符串的形式返回1個對異常的描述
1.6 session(保存用戶信息)
作用:分別保存每一個用戶的信息
session.putValue(“name”,val)
session.getValue(“name”)
注意
ssion中保存和檢索的信息不能是基本數據類型,而必須是JAVA的相應的Object對象。
方法:
-- getAttribute(String name):獲得指定名字的屬性,若該屬性不存在,將返回null
-- getattributeNames():返回session對象中存儲的第一個屬性對象,結果集是一個Enumeration類的實例
-- getCreationTime():返回該session對象創建的時間,以毫秒計,從1970年1月1日起
-- getId():每生成一個session對象,服務器都會給其一個不會重復的編號,此方法返回當前session的編號
-- getLastAccessedTime():返回當前session對象最后1次被操作的時間,返回自1970年1月1日起至今的毫秒數
-- getMaxInactiveInterval():獲得session對象的生存時間
-- removeAttribute(String name):刪除指定的屬性(包括屬性名、屬性值)
-- setAttribute(String name,Java.lang.Object value):設定指定名字的屬性值,并將其存儲在session對象中
posted on 2008-06-19 10:32
lvq810 閱讀(157)
評論(0) 編輯 收藏 所屬分類:
Java