1、如何從表單獲取參數(shù)值?
request.getParameter("pname");
如何從表單獲取多個(gè)值?
request.getParameterValus("pname");
request 是J2EE Web容器提供的隱含變量,request 對(duì)象的類型是HTTPServletRequest。
2、java.io.Serializable 是做什么用的?
3、 每個(gè)JavaBean 或類在修改后,都要重新執(zhí)行編譯才能使用,目前知道的方法是重新啟動(dòng)服務(wù)器,不知道還有沒(méi)有其它方法;
4、JavaBean 與 EJB 有很大的不同,JavaBean 可以理解為單個(gè)類來(lái)使用,它可以在服務(wù)器端(<%%>)使用,也可以在客戶端(使用標(biāo)簽:jsp:userBean)使用;而EJB 是具有事務(wù)處理,數(shù)據(jù)庫(kù)連接池、安全等功能的服務(wù)器組件,EJB 很復(fù)雜。
要把一個(gè)類作為JavaBean 使用,其構(gòu)造函數(shù)必須為空。
5、標(biāo)簽庫(kù):
標(biāo)簽庫(kù)處理程序類、標(biāo)簽庫(kù)描述符(TLD)、標(biāo)簽庫(kù)指示這三部分是使用標(biāo)簽庫(kù)的最重要的概念。
6、Java 中的類的概念
抽象類與接口的區(qū)別:
a、抽象類可以實(shí)現(xiàn)一部分方法,而接口所有的方法都沒(méi)有實(shí)現(xiàn);b、子類只可以從一個(gè)超類繼承,但可以實(shí)現(xiàn)多個(gè)接口
方法的重載:
類中的同名方法,如果參數(shù)不同,則為方法的重載;
如果類實(shí)現(xiàn)了父類的方法,也為重載。
main() 方法:每個(gè)JAVA應(yīng)用程序都有一個(gè)main() 方法,這個(gè)方法是應(yīng)用程序的入口點(diǎn),它的定義為:
public static void main(String[] args)
7、集(Collection)的概念,集框架提供了一組設(shè)計(jì)好的接口,把集分成三類:
集合(java.util.Set)
列表(java.util.List)
映射(java.util.Map)
集合(Sets)是一組無(wú)序的對(duì)象;
列表(Lists)是一組有序的對(duì)象;
映射(Maps)是一組成對(duì)保存的對(duì)象;
在java.util 中,有9種集類用來(lái)操作上述三種接口的集;列表如下:
接口 集類
Set HashSet , TreeSet
List Vector , Stack , ArrayList , LinkedList
Map HashTable , TreeMap , HashMap , WeakHashMap
最常用的三個(gè)集類是:ArrayList , Stack , HashMap
8、ArrayList 的容量:capacity ,是指可存放的對(duì)象的多少;
ArrayList 的大?。篠ize ,是指當(dāng)前存放的對(duì)象的多少;
9、集的循環(huán)接口 Iterator
引入類:java.util.Iterator
然后對(duì)集類調(diào)用iterator()方法,得到一個(gè)循環(huán)子 iterator,該類具有三個(gè)方法:next() , hasNext() , remove()
import java.util.Iterator;
Iterator userIter=userList.iterator();
while(userIter.hasNext()){
User usr=(User) userIter.next();
out.println(usr.getUserName());
}
10、ArrayList 的排序
ArrayList 可以排序,這個(gè)功能是由集框架的一個(gè)靜態(tài)方法提供的,引入:java.util.Collections
舉例:
ArrayList names=new ArrayList();
names.add("aaaa");
names.add("cccc");
names.add("bbbb");
此時(shí),如果用循環(huán)子輸出,得到的結(jié)果同上;
Collections.sort(names);
此時(shí)再用循環(huán)子輸出,得到的是aaaa,bbbb,cccc
但,要對(duì)自定義的類進(jìn)行排序,就需要在類中實(shí)現(xiàn)java.lang.Comparable 接口。
11、棧集,Stack,先進(jìn)后出
類:java.util.Stack
基本操作:
push() ,向棧中放入一個(gè)項(xiàng)
pop(),從棧頂刪除一個(gè)項(xiàng)
----
peek(),從棧頂返回一個(gè)項(xiàng),但不刪除
empty(),棧是否為空
search(),在棧中查找某個(gè)對(duì)象,,找到后返回離棧頂?shù)钠疲环駝t,返回-1
12、HashMap 集
類:java.util.HashMap
基本操作:
put(),放入一對(duì)值;
get(),根據(jù)鍵獲取關(guān)聯(lián)值;
----
remove(),從映射中刪除指定鍵的值,并返回該值
size(),返回鍵值對(duì)的數(shù)量
putAll(),將某個(gè)“鍵--值對(duì)”對(duì)象傳遞給另一個(gè)“鍵-值對(duì)”
13、Date類和Time類
日期的比較:
Date myDate=new Date();
Date currentDate=new Date();
myDate.compareTo(currentDate);
如果相等返回0,如果調(diào)用方法的值晚,則返回正數(shù);如果調(diào)用方法的值早,則返回負(fù)數(shù);
日歷類:
java.util.Calendar,其中包含了多種日歷類;
羅馬日歷類:GregorianCalendar
格式化日期:
java.text.SimpleDateFormat,允許我們自定義格式化模式;
14、錯(cuò)誤處理
錯(cuò)誤有兩種,一種是Error,叫錯(cuò)誤,代碼中不能處理;一種是Exception ,叫異常,代碼中可處理;
拋出異常用 throw 語(yǔ)句。如:throw new Exception("Bad things just happened");
處理異常的方式:
內(nèi)部方式:在try塊中可以捕獲拋出的異常,可以在catch 塊中處理;
外部方式:拋出異常的方法聲明了該異??梢蕴幚?,如下:
public void validateUser(pageContext page) throws Exception
實(shí)例:
public void validateUser() throws Exception(){
if(!userpwd.equals("wuxs")){
Exception trouble=new Exception("密碼不正確。");
throw trouble;
}
}
14、JSP中的錯(cuò)誤處理頁(yè)
錯(cuò)誤處理頁(yè)和其它JSP頁(yè)面頁(yè)一樣,但增加了隱含的對(duì)象用于跟蹤錯(cuò)誤。
創(chuàng)建一個(gè)錯(cuò)誤處理頁(yè)有4步:
A)、讓JSP頁(yè)面知道一旦出錯(cuò)要用哪個(gè)錯(cuò)誤處理頁(yè)。<%@ page errorPage="error.jsp" %>
B)、構(gòu)建錯(cuò)誤處理頁(yè)面;
C)、在錯(cuò)誤處理頁(yè),設(shè)置page指示的isErrorPage 屬性為真。這個(gè)屬性告訴JSP容器為錯(cuò)誤處理頁(yè)面去創(chuàng)建一個(gè)exception 隱含對(duì)象。<% page isErrorPage="true" %>
D)、在錯(cuò)誤處理頁(yè)面中,exception 隱含對(duì)象指向一個(gè)在原始JSP頁(yè)面中出現(xiàn)的異常,可以通過(guò)代碼進(jìn)行處理。