1.page 指令:
(1)定義描述語言:language
(2)指定網頁編譯後產生的 Servlet 延伸的類別:extends
(3)指定使用的 Java package:import
(4)網頁被瀏覽時,可否使用 session 物件:session
(5)是否使用緩衝區:buffer
(6)緩衝區滿了後,是否自動輸出緩衝區內的資料:autoFlush
(7)是否以執行緒的方式回應網頁的要求訊息:isThreadSafe
(8)網頁的說明資訊:info
(9)若網頁發生錯誤時,顯示錯誤訊息之網頁的 URL 路徑:errorPage
(10)設定此網頁是否為錯誤訊息網頁:isErrorPage
(11)設定字元壓縮方式,以及使用的字元集:contentType
(12)編碼方式:pageEncoding
(13)是否執行或忽略 EL 表達式:isELIgnored
2.將檔案載入網頁:include file
<%@ include file = "檔名" %>
3.使用自訂標籤:taglib
<%@ taglib uri = "標籤資料的 URI" prefix = "前置標記" %>
4.動作元件:
(1)宣告欲使用的 JavaBean 物件:<jsp:useBean>
(2)設定所使用 JavaBean 物件的屬性:<jsp:setProperty>
(3)傳送參數:<jsp:param>
<jsp:param name = 參數名稱 value = 值 />
(4)動態載入 HTML 網頁或 JSP 網頁:<jsp:include>
<jsp:include page = 網頁名稱>
<jsp:param name = 參數名稱1 value = 值1>
...
</jsp:include>
*若使用 <jsp:param> 將參數傳給 JSP 網頁時,取得傳入的參數方法為:
request.getParameter("參數名稱");
(5)網頁導向:<jsp:forward>
<jsp:forward page = "網頁名稱">
<jsp:param name = "參數名稱1" value = "值1">
...
</jsp:forward>
*若使用 <jsp:param> 將參數傳給 JSP 網頁時,取得傳入的參數方法為:
request.getParameter("參數名稱");
二、JSP 的隱含物件
1.request 物件:
(1)取得與設定 request 物件的屬性:
- 設定某個屬性與屬性值:setAttribute(name, value)
- 取得 request 物件中所有屬性名稱:getAttributeNames()
- 取得某個屬性值:getAttribute(name)
- 移除某個屬性的屬性值 :removeAttribute(name)
- 取得所有的使用參數名稱:getParameterNames() -->回傳陣列
- 取得 name 的參數值:getParameter(name)
- 取得 name 的所有參數:getParameterValues(name) -->回傳陣列
(3)取得 HTTP 表頭資訊:
- 取得 request 物件中所有的表頭名稱:getHeaderNames()
- 取得 name 所代表的表頭字串:getHeader(name)
- 取得 name 所代表的所有表頭字串:getHeaders(name)
- 取得 name 代表的表頭整數值:getIntHeader(name)
- 取得 name 代表的表頭日期:getDateHeader(name)
- 取得 request 物件中的所有:CookiegetCookies()
(4)其他方法:
- 取得使用者要求所使用的Http方法(get or post):getMethod()
- 取得目標URL路徑:getRequestURI()
- 取得目標URL,但不包含查詢字串:getRequestURL()
- 取得path Servlet物件的RequestDispatcher物件:getRequestDispatcher(path)
- 取得遠端電腦的ip:getRemoteAddr()
- 取得遠端電腦的全名:getRemoteHost()
- 取得session隱含物件:getSession(true/false)
2.response 物件:
(1)緩衝區處理:
- 將緩衝區的內容輸出到瀏覽端:flushBuffer()
- 取得瀏覽器使用緩衝空間的大小:getBufferSize()
- 確認狀態碼與表頭均已完成寫入:isCommitted()
- 設定緩衝區的空間大小:setBufferSize(size)
- 清除表頭與緩衝區的內容:reset() *當資料提交後,不可呼叫 reset()
(2)URL 重新導向與設定回應狀態碼:
- 將瀏覽端欲顯示的網頁,轉址到指定網頁:sendRedirect(url)
- 將錯誤狀態與訊息傳送至瀏覽端:setError(code, message)
- 設定回應的狀態代碼:setStatus(code)
(3)設定回應訊息的表頭資訊:
- 加入cookie:addCookie(cookie)
- 確認回應中是否包含 name 代表的表頭:containsHeader(name)
- 設定表頭值:setHeader(name, value)
- 設定整數的表頭值:setIntHeader(name, value)
- 設定日期的表頭值:setDateHeader(name, value)
- 加入新的表頭:addHeader(name, value)
- 加入新的整數表頭:addIntHeader(name, value)
- 加入新的日期表頭:addDateHeader(name, value)
(4)設定回應內容之型別與編碼:
- 設定回應內容的 MIME 形態:setContentType()
- 取得回應內容的編碼方式:getCharacterEncoding()
(5)執行 URL 複寫管理 Session 狀態:
- 執行欲傳入 sendRedirect() 方法之 URL 參數的編碼:encodeRedirectURL(url)
- 將 sessionID 加入 url 執行編碼:encodeURL(url)
3.out 物件:
(1)資料輸出:
- 送出輸出料流內的資料,並關閉資料流:close()
- 將系統使用的換行符號,寫入輸出資料流以產生新行:newLine()
- 執行資料的輸出:print(data)
- 執行資料輸出,並在最後加上換行符號:println(data)
(2)緩衝區處理:
- 清除緩衝區內的資料:clear() *若資料已送至輸出資料流時,將會產生錯誤。應先丟出一個例外,再呼叫 clear() 方法
- 清除緩衝區內的資料:clearBuffer()
- 將緩衝區的內容送至輸出流,並傳送至瀏覽端:flush()
- 當緩衝區溢滿時,資料是否自動傳送至輸出資料流:isAutoFlush()
- 取得瀏覽器使用緩衝區空間的大小:getBufferSize()
- 取得緩衝區剩下的空間大小:getRemaining()
4.session 物件:
- 取得 Session ID:getId()
- 取得產生此 session 物件的時間:getCreation Time()
- 取得最近一次收到此 session 的使用者要求的時間:getLastAccessedTime()
- 取得最大可容忍的閒置時間(秒):getMaxInactiveInterval()
- 設定最大可容忍的閒置時間(秒):setMaxInactiveInterval(t)
- 用戶端瀏覽器是否收到 session:isNew()
- 刪除此 session 物件並清除物件中儲存的所有屬性:invalidate()
5.application 物件:
(1)屬性存取方法:
- 取得存取於 application 物件的屬性:getAttribute(name)
- 取得儲存於 application 物件內所有屬性的名稱:getAttributeNames()
- 移除儲存於 application 物件內的屬性:removeAttribute(name)
- 指定欲儲存至 application 物件內之屬性的名稱與值:setAttribute(name, value)
(2)取得版本資訊:
- 取得Servlet容器的名稱與版本序號:getServletInfo()
- 取得Servlet API的主要版本序號:getMajorVersion()
- 取得Servlet API的次要版本序號:getMinorVersion()
(3)將記錄寫至記錄檔:
- 將訊息撰寫至 Servlet 引擎的記錄檔內:log(message)
- 將訊息撰寫至 Servlet 引擎的記錄檔內,並將發生錯誤所引發例外物件之堆疊追溯一併寫入記錄檔:log(message, exception)
(4)取得 Web 應用程式的初始參數:
- 取得特定名稱之起始參數的值:getInitParameter(name)
- 取得所有起始參數的名稱:getInitParameterNames()
(5)用來取得伺服器端的其他資料方法:
- 取得指定檔案的 Mime 型別:getMimeType(file)
- 將 path 代表的路徑轉換為完整的URL:getResource(path)
- 將 path 代表的資料當成InputStream物件傳回,path必須是以「/」為開頭的字串:getResourceAsStream(path)
- 取得 path 代表的虛擬路徑在本機上實際的檔案路徑:getRealPath(path)
- 取得 path 代表的 ServletContext 物件:getContext(path)
- 取得 path 代表的 RequestDispatcher 物件:getRequestDispatcher(path)
三、JSP 進階技術
1.建立 File 物件:
File file物件變數 = new File("路徑", "檔案名稱");
2.取得伺服器端磁碟路徑:
request.getRealPath("虛擬資料夾路徑");
3.檔案的建立:
file物件變數.createNewFile();
4.刪除檔案 / 資料夾:
file物件變數.delete();
5.資料夾的建立:
file物件變數.mkdir();
6.檢查檔案是否存在:
file物件變數.exists();
7.取得資料夾中的檔案:
file物件變數.listFiles();
8.建立讀取檔案的 FileReader 物件:
FileReader filereader物件變數 = new FileReader("檔案路徑與名稱");
關閉檔案:
filereader物件變數.close()
*路徑必須為檔案儲存於伺服器端的磁碟路徑,不可是 Web 伺服器的虛擬路徑。
9.從檔案中讀取字元:
filereader物件變數.read(char[] 字元陣列, int 起始位置, int 讀取長度);
10.從檔案中讀取一行資料:
BufferedReader bufferedreader物件變數 = new BufferedReader(filereader物件變數);
關閉檔案:
bufferedreader物件變數.close()
讀取一行資料:
bufferedeader物件變數.readLine()
11.略過資料不讀取:
filereader物件變數.skip(欲略過的字元數)
12.將資料寫入檔案:
FileWriter filewriter物件變數 = new FileWriter("檔案路徑與名稱");
filewriter物件變數.write(char 字元 / String 字串)
13.將資料分行寫入檔案:
BufferedWriter buffered物件變數 = new BufferedWriter(filewriter物件變數);
關閉檔案:
bufferedwriter物件變數.close()
將分行字元寫入檔案:
bufferedwriter物件.newLine()
將物件資料寫入檔案:
bufferedwriter物件變數.write(char 字元 / String 字串)
四、資料庫連結
1.ODBC 資料來源連結建立:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
Connection connection物件變數 = DriverManger.getConnection("jdbc:odic:ODBC資料來源名稱", "使用者帳號", "密碼")
關閉 ODBC 資料來源連結:
connection物件變數.close()
2.從資料來源取得資料:
Statement statement物件變數 = connection物件變數.createStatement()
關閉 Statement 物件變數:
statement物件變數.close()
3.執行查詢動作:
Result resultset物件變數 = statement物件變數.executeQuery(String SQL敘述)
關閉 ResultSet 物件:
resultset物件變數.close()
4.取得資料欄位:
result物件變數.getXXX("欄位名稱")
5.取得記錄集中的欄位數:
ResultSetMetaData resultsetmetadata物件 = rs.getMetaData();
int ColNum = resultsetmetadata物件.getColumnCount();
6.取得記錄集中的欄位名稱:
resultsetmetadata物件變數.getColumnName(欄位索引值)
7.記錄指標位置的取得:
resultset物件變數.getRow()
8.記錄指標位置的設定:
resultset物件變數.absolute(int 記錄位置)
五、JavaBeans
1.安裝 Bean 類別:
<classpath id='類別位置' source='原始碼檔' library-dir='類別庫檔' compile='是否自動編譯' />
2.載入 Bean 類別:
<jsp:useBean id="名稱" scope="有效範圍" class="Bean 類別" />
3.設定 Bean 物件屬性:
<jsp:setProperty name="名稱" property="屬性" value="值" />
4.在文稿元件內,以呼叫 Bean 物件的方法設定屬性:
bean物件名稱.set 屬性(值)
5.取得 Bean 物件屬性:
<jsp:getProperty name="名稱" property="屬性" />
6.在文稿元件內,以呼叫 Bean 物件的方法取得屬性:
bean物件變數.get屬性()
7.JavaBeans 物件的儲存:
FileOutputStream fos = new FileOutputStream("檔案名稱與路徑");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(欲寫入的物件);
8.從檔案取得 JavaBeans 物件:
FileInputStream fis = new FileInputStream("檔案名稱與路徑");
ObjectInputStream ois = new ObjectInputStream(fis);
ois.readObject();
9.利用 <jsp:useBean> 標籤讀取 Bean 物件:
<jsp:useBean id = "Bean 物件名稱" beanName="欲載入檔案的路徑與名稱" scope="有效範圍" type="欲載入物件的類別" />
六、檔案上傳
1.透過 jspSmartUpload 取得上傳檔案:
<%@ page import="com.jspsmart.upload.*" %>
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
jspsmartupload物件.initialize(PageContext pagecontext物件)
設定上傳檔案的總大小限制:
jspsmartupload物件.setTotalMaxFileSize(long 限制大小);
上傳檔案:
jspsmartupload物件.upload()
儲存上傳檔案:
jspsmartupload物件.save(String 儲存路徑)
2.取得上傳的個別檔案:
jspsmartupload物件.getFiles()
files物件.getFile(int 索引值)
沒有留言:
張貼留言