天天看點

《JSP入門》 學習筆記

JSP基本文法

表達式:

<%= expression %>

表達式的值将直接輸出到頁面。

<%String hello=”hello world” %>

<%=hello %>

不能用一個分号(";")來作為表達式的結束符,但是同樣的表達式用在scriptlet中就需要以分号來結尾。

Scriptlet腳本代碼:

<% code fragment %>

它将被插入到JSP所生成的目标Servlet的Service方法中。

一個scriptlet能夠包含多個jsp語句,方法,變量,表達式。

聲明:

<%!JAVA Code%>

并不産生輸出,值時定義了提供調用的方法和變量,是以将其和JSP 表達式與JSP腳本結合使用。

Page 指令

<%@ page

[ language=”java”]

[ extends=”package.class”]

[ import=”{package.class | package.*},….”] 使用逗号(“,”)分割

[session=”true | false”]

[ buffer=”none | 8kb | sizekb”]

[ autoFlush=”true | false”]

[ isThreadSafe=”true | false”]

[ info=”text”]

[ errorPage=”relativeURL”]

[ contentType=”mimeType [ ;charset=characterSet]” | ”text/html;charset=ISO-8859-1”]

[ isErrorPage=”true | false”]

%>

定義JSP檔案的全局屬性。

Include 指令:

<%@include file=”URL” %>

include指令将會在JSP編譯時到入一個包含文本或代碼的檔案(靜态包含)。

JSP 注釋:

<!-- 注釋[<%=表達式%>]-- > 顯式

<% -- 注釋 --%> 隐式

<jsp:include > 指令

<jsp:include page=”{relativeURL|<%= expression %>}” flush=”true” />

與include 指令不同,<jsp:include>指令在JSP 頁面被使用者請求時才将指定檔案的内容插入伺服器的響應輸出中。

<jsp:useBean> 指令

<jsp:useBean id=”Name” scope=”page | request | session | application” class=”package.class”> </jsp:useBean>

<jsp:useBean>指令能在JSP頁面中載入并使用一個JavaBean。

<jsp:setProperty> 指令

用來設定Bean中的屬性值

<jsp:getProperty> 指令

傳回一個已被建立的Bean元件的屬性值。

<jsp:getProperty name=”beanInstanceName” property=”propertyName” />

擷取Bean的屬性值,顯示在頁面中。

<jsp:forward> 指令

用來把目前的頁面重導至另一個頁面上,用戶端看到的位址是A頁面,而實際内容卻是B頁面的内容。

<jsplugin> 指令

用來向用戶端浏覽器插入Java Applet插件來運作(Java小程式)或Bean對象。

JSP 内部對象

request

getParameter(String name)獲得用戶端傳送給伺服器端的參數值,該參數由name 指定

getParameterNames()獲得用戶端傳送給伺服器端的所有參數名稱,結果集是一個Enumeration(類舉)類的執行個體。

getParameterValue(String name)獲得指定參數值。

response 重要的對象之一,隻有通過它才能響應用戶端的請求,向用戶端輸出資訊。

PageContext

session用來在使用者之間分别儲存使用者資訊。

session.putValue(value , String name)

session.getParameter(String name)

application 重要的對象之一,一旦創立了application 對象,除非伺服器關閉,否則application對象将一直保持

getAttribute(String name) 傳回由name指定名稱的 application 對象屬性的值,這是個 object對象.

SetAttribute(String name, Object value) 用value來初始化某個屬性,該屬性由name指定

out

out.println()

out.print()

out.newLine()

……

config

exception 處理JSP檔案在值在執行時發生的錯誤和異常。内建3個方法:

getMessage() 傳回錯誤資訊。

printStackTrace() 已标準的形式輸出一個錯誤和錯誤的堆棧。

toString() 以字元串的形式傳回一個對異常的描述。

page

JavaBean 元件

定義Bean的屬性就必須為其建立通路方法,通路方法就是對元件中定義的屬性的通路,包括讀和寫兩種。讀:用于取出Bean屬性值的取值函數,方法以get為字首,并連接配接首字元為大寫的屬性名。寫:用于設定Bean屬性的指派函數,方法以set為字首,并連接配接首字元為大寫的屬性名。必須将Bean 屬性通路方法的通路權限定義為公有(public)。

資料庫連接配接Bean:

導入JDBC标準類庫 import java.sql.*;

注冊資料庫驅動程式 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

建立資料庫連接配接

Connection conn=DriverManager.getConnection( “jdbc:odbc:databaseame”, ”username”, ”password”);

建立stmt 對象,來執行資料庫操作(執行SQL指令)

Statememt stmt=conn.createStatememt();

執行資料庫操作 stmt.executeQuery(String sql) 傳回資訊在ResultSet 對象。

關閉資料庫 stmt.close(); conn.close();

建立檔案應用程式

标準的輸入/輸出封裝在:Java.lang 包。

檔案的輸入/輸出封裝在:Java.io 包。

圖形的輸入/輸出封裝在:Java.wat 包。

對網絡接口的輸入/輸出封裝在:Java.net 包。

檔案的輸入/輸出流

輸入對象:FileInputStream objectname = new FileInputStream(“filename”);

讀取資料:read();

輸出對象:FileOutputStream objectname = new FileOutputStream(“filename”);

寫入資料:write();

RamdonAccessFile類可利用length()方法和seek()方法實作檔案的追加。

File 類

專門處理檔案與目錄I/O操作的類,即建立一個目錄,擷取一個路徑名、檔案名以及文的有關屬性等,包含在Java.io包中,提供了3個構造方法:

File(String path) :根據路徑建立檔案對象。

eg: File f1 = new File(“C:\jsp\javabean”);

File(String path,String name) :根據路徑和檔案名建立檔案對象。

eg: File f2 = new file(“C:\jsp\javabean”,”dbconn.java”);

File(File dir,String name) :根據目錄和檔案名建立檔案對象。

eg: File f3 = new File(“C:javabean”,”dbconn.java”);

注:Java 可以正确處理和的路徑分隔符;

JSP程式調試

中文問題

JSP不支援中文,解決中文問題有兩種方法:

時區設定為[英語(美國)];

在向資料庫添加資料時,把GB2312編碼的資料轉換成8859-1編碼,代碼如下:

String speaker= new String(request.getParameter(“username”).getBytes(“8859-1”));

程式調試

exception對象内建的3個方法:

printStackTrace() 以标準錯誤的形式輸出一個錯誤和錯誤的堆棧。

注:必須在isErrorPage=true的情況下才可使用額exception對象。

JDBC類介紹

Java.sql.DriverManager :該類負責處理JDBC資料庫驅動程式的加載和解除安裝。該驅動程式與遠端資料庫相連,傳回一個Java.sql.Connection對象。

Java.sql.Connection :該類負責建立與資料庫伺服器的連接配接。

由DriverManager.getConnection方法建立。

Java.sql.Statement :執行靜态SQL語句并獲得尤其産生的結果的基本方法。

由Connection.createStatement方法建立。

Java.sql.ResultSet :從資料庫伺服器傳回的結果集,是一個用來分析SQL查詢語句的結果類。

Java JDBC 異常類:

Java.sql.DataTruncation

Java.sql.SQLExeception

Java.sql.SQLWarning