⑴ Java編程常見面試題目,要求正確答案
第一,談談final, finally, finalize的區別。
final?修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載finally?再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。
finalize?方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。
第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?
匿名的內部類是沒有名字的內部類。不能extends(繼承) 其它類,但一個內部類可以作為一個介面,由另一個內部類實現。
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。
Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內部類與C++嵌套類最大的不同就在於是否有指向外部的引用上。具體可見http: //www.frontfree.net/articles/services/view.ASP?id=704&page=1
註: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象
第四,&和&&的區別。
&是位運算符。&&是布爾邏輯運算符。
第五,HashMap和Hashtable的區別。
都屬於Map介面的類,實現了將惟一鍵映射到特定的值上。
HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。
Hashtable 類似於 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。
第六,Collection 和 Collections的區別。
Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。
Collection是個java.util下的介面,它是各種集合結構的父介面。
第七,什麼時候用assert。
斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為 true。如果表達式計算為 false,那麼系統會報告一個 AssertionError。它用於調試目的:
assert(a > 0); // throws an AssertionError if a <= 0
斷言可以有兩種形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 應該總是產生一個布爾值。
Expression2 可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的 String 消息。
斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標記:
Javac -source 1.4 Test.java
要在運行時啟用斷言,可使用 -enableassertions 或者 -ea 標記。
要在運行時選擇禁用斷言,可使用 -da 或者 -disableassertions 標記。
要系統類中啟用斷言,可使用 -esa 或者 -dsa 標記。還可以在包的基礎上啟用或者禁用斷言。
可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程序的狀態。
第八,GC是什麼? 為什麼要有GC? (基礎)。
GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
第九,String s = new String("xyz");創建了幾個String Object?
兩個對象,一個是「xyx」,一個是指向「xyx」的引用對象s。
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;
第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉化為short型。可修改為s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。
第十二,sleep() 和 wait() 有什麼區別? 搞線程的最愛
sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿後,線程不一定立即恢復執行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執行,除非(a)「醒來」的線程具有更高的優先順序,(b)正在運行的線程因為其它原因而阻塞。
wait()是線程交互時,如果線程對一個同步對象x 發出一個wait()調用,該線程會暫停執行,被調對象進入等待狀態,直到被喚醒或等待時間到。
第十三,Java有沒有goto?
Goto?java中的保留字,現在沒有在java中使用。
第十四,數組有沒有length()這個方法? String有沒有length()這個方法?
數組沒有length()這個方法,有length的屬性。
String有有length()這個方法。
第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被「屏蔽」了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。
第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
Set里的元素是不能重復的,那麼用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。
equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。
第十七,給我一個你最常見到的runtime exception。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, , DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
第十八,error和exception有什麼區別?
error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。
exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。
第十九,List, Set, Map是否繼承自Collection介面?
List,Set是
Map不是。
第二十,abstract class和interface有什麼區別?
聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變數,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。
介面(interface)是抽象類的變體。在介面中,所有方法都是抽象的。多繼承性可通過實現這樣的介面而獲得。介面中的所有方法都是抽象的,沒有一個有程序體。介面只可以定義static final成員變數。介面的實現與子類相似,除了該實現類不能從介面定義中繼承行為。當類實現特殊介面時,它定義(即將程序體給予)所有這種介面的方法。然後,它可以在實現了該介面的類的任何對象上調用介面的方法。由於有抽象類,它允許使用介面名作為引用變數的類型。通常的動態聯編將生效。引用可以轉換到介面類型或從介面類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了介面。
第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
都不能
第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類(concrete class)?
介面可以繼承介面。抽象類可以實現(implements)介面,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。
第二十三,啟動一個線程是用run()還是start()?
啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由JVM調度並執行。這並不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。
第二十四,構造器Constructor是否可被override?
構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。
第二十五,是否可以繼承String類?
String類是final類故不可以繼承。
第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。
第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?
會執行,在return前執行。
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問這種問題。
2 << 3
第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code。
第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這里到底是值傳遞還是引用傳遞?
是值傳遞。Java 編程語言只由值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一個整數表達式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。long,string 都不能作用於swtich。
第三十二,編程題: 寫一個Singleton出來。
Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
一般Singleton模式通常有幾種種形式:
第一種形式: 定義一個類,它的構造函數為private的,它有一個static的private的該類變數,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調用其中的方法。
public class Singleton {
private Singleton(){}
//在自己內部定義自己一個實例,是不是很奇怪?
//注意這是private 只供內部調用
private static Singleton instance = new Singleton();
//這里提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}
第二種形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次
//使用時生成實例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}
其他形式:
定義一個類,它的構造函數為private的,所有方法為static的。
一般認為第一種形式要更加安全些
第三十三 Hashtable和HashMap
Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現
HashMap允許將null作為一個entry的key或者value,而Hashtable不允許
還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap就必須為之提供外同步。
Hashtable和HashMap採用的hash/rehash演算法都大概一樣,所以性能不會有很大的差異。
⑵ Javaweb編程技術 課後答案
是不是這個(附件下載)
不過只有4到14章的答案,前三章沒有
⑶ 計算機二級《Web程序設計》試題及答案
計算機二級《Web程序設計》試題及答案
1在下列的HTML中,正確產生超鏈接的標記是()。
A.新浪網B.新浪網C.http:///WWW.sina.Corn.cnD.新浪網
參考答案:B
2下面協議中用於在Web瀏覽器和伺服器之間傳輸Web文檔的是()。
A.NFSB.FTPC.HTTPD.DNS
參考答案:C
3在HTTP響應的MIME消息體中,可以同時包含如下類型的數據()。
i .文本數據 ii.圖片數據 iii.視頻數據 iv.音頻數據
A.僅iB.i和iiC.i、ii和iiiD.全都可以
參考答案:D
4HTTP協議是一種()協議。
A.文件傳輸協議B.郵件協議C.遠程登錄協議D.超文本傳輸協議
參考答案:D
5在HTML文檔中使用的注釋符號是()。
A.//…B./*……*/C.D.以上說法均錯誤
參考答案:C
6HTTP請求消息中可以不包含()。
i.開始行 ii.消息頭iii.消息體實體數據
A.僅iB.i和iiC.ii和 iiiD.僅iii
參考答案:C
7下列技術中控制文檔結構的.是()。
A.DOMB.CSSC.JavaScriptD.XMLHttpRequest
參考答案:A
8下列語言編寫的代碼中,在瀏覽器端執行的是()。
A.wt h頁面中的c#代碼
B.Web頁面中的Java代碼
C.Web頁面中的PHP代碼
D.Web頁面中的JavaScript代碼
參考答案:D
9在HTTP/1.1協議中,持久連接選項是()的。
A.默認關閉B.默認打開C.不可協商D.以上都不對
參考答案:B
10以下不是HTTP協議的特點的是()。
A.持久連接B.請求/響應模式C.只能傳輸文本數據D.簡單、高效
參考答案:C
11下列語句中,正確打開名為“window2"的新窗口的JavaScript語句是()。
A.open.new("http://www.sina.COB.cn","window2")
B.new.window("http://www.sina.con.cn","window2")
C.new("http://www.sina.com.cn","window2")
D.window.open("http://www.sina.tom.cn","window2")
參考答案:D
12以下選項中,全部都是表格標記的是()。
參考答案:B
13下列關於ASP.NET的描述中,錯誤的是()。
A.ASP.NET依賴於微軟的.NET框架
B.ASP.NET採用純面向對象語言比採用腳本語言的執行效率高
C.ASP.NET採用代碼分離技術有利於開發協作
D.ASP.NET和ASP都採用了JavaScript編程語言
參考答案:D
14下列函數中能夠把6.25四捨五入為最接近的整數的是()。
A.round(6.25)B.rnd(6.25)C.Math.rnd(6.25)D.Math.round(6.25)
參考答案:D
15目前在Internet上應用最為廣泛的服務是()。
A.FTP服務B.Web服務C.Telnet服務D.Gopher服務
參考答案:B
16下列正確地在CSS文件中插入注釋的語句是()。
A.//this is a commentB.//this is a comment//C./*this is a comment*/D.'this is a comment
參考答案:C
17下列不屬於動態網頁格式的是()。
A.ASPB.JSPC.ASPXD.VBS
參考答案:D
18以下語句中,正確製作電子郵件鏈接的是()。
參考答案:C
19下列哪個樣式能夠顯示這樣一個邊框:上邊框10像素、下邊框5像素、左邊框20像素、右邊框l像素?()
A.border—width:10px 5px 20px 1px
B.border—width:10px 20px 5px 1px
C.border—width:5px 20px l0px 1px
D.border—width:10px 1px 5px 20px
參考答案:D
20CSS 主要用下列哪個HTML標記構建頁面布局?()
參考答案:B
21在下列選項中,正確地產生文本區(textarea)的標記是()。
參考答案:A
22在訪問的URL http://Cms.bit.e.Cn:8080/login.aspx中,http表示()。
A.埠號B.文件名C.訪問協議D.主機名
參考答案:C
23下列標記中不屬於行內元素的是()。
參考答案:D
24在HTML文檔中用於表示頁面標題的標記對是()。
參考答案:D
25下列符合CSS語法的正確語句是()。
A.body:color=blackB.{body;color:black}C.body{color:black;}D.{body:color=black}
參考答案:C
更多計算機二級試題推薦:
1. 2016年9月計算機二級web考試試題及答案
2. 計算機二級《Web程序設計》試題及答案
3. 計算機二級考試WEB試題及答案
4. 2016計算機二級考試《Web程序設計》練習題模擬
5. 2016計算機二級考試高級Office試題及答案
6. 2016最新計算機二級考試試題及答案
7. 2016年計算機二級office高級應用試題【題庫】
8. 2016計算機二級等級考試題型分析
9. 2016下半年計算機二級ps試題及答案
10. 計算機二級Office考試試題及答案
;⑷ Java編程作業 多線程Web伺服器 小女子跪求答案
1、創建一個動物集合,插入動物園中有的幾種動物(請給出10種)
2、一次性輸出內容
3、使用iterator遍歷集合中所有內容
4、將集合內容轉存儲於一個數字內,並在數組中進行排序
只列舉了2種動物,自己再添加
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
/**
*
* @author Administrator
*/
interface Animal {
public String toString();
}
class Cat implements Animal,Comparable<Animal> {
public String name;
public Cat(){
super();
name = "貓";
}
public String toString(){
return name;
}
@Override
public int compareTo(Animal o) {
if(this.toString().compareTo(o.toString())==-1){
return -1;
}else if(this.toString().compareTo(o.toString())==0){
return 0;
}else
return 1;
}
}
class Dog implements Animal,Comparable<Animal> {
public String name;
public Dog(){
super();
name="狗";
}
public String toString(){
return name;
}
@Override
public int compareTo(Animal o) {
if(this.toString().compareTo(o.toString())==-1){
return -1;
}else if(this.toString().compareTo(o.toString())==0){
return 0;
}else
return 1;
}
}
public class Demo8 {
public static void main(String[] args){
// 創建一個動物集合,插入動物園中有的幾種動物
Collection<Animal> col = new ArrayList<Animal>();
col.add(new Cat());
col.add(new Dog());
col.add(new Cat());
// 一次性輸出內容
System.out.println(Arrays.toString(col.toArray()));
//使用iterator遍歷集合中所有內容
//並將集合內容轉存儲於一個數組內
Iterator<Animal> it = col.iterator();
int n = 0;
Animal[] an = new Animal[3];
while(it.hasNext()){
Animal temp = (Animal)it.next();
System.out.println("使用iterator遍歷集合中所有內容:"+temp);
an[n++]=temp;
}
//並在數組中進行排序
Arrays.sort(an);
System.out.println(Arrays.toString(an));
}
⑸ java web 編程技術 沈澤剛
推薦北京聖思園張龍老師講的視頻,網上可以下到,比看書好的多!
⑹ java web程序設計要學些什麼
一、 HTML CSS Javascript
正如嚴老師所說:「Java Web 的基礎是建立在HTML這套標簽的地基之上的」。所以學習Java Web 就要學習HTML的標簽,開始對HTML的理解並不是很深,本以為作為程序員對HTML的重點掌握無非就是From表單,哦,對了,還有Table,<a herf=」」>,文檔的格式<head><body>等等等等,而對於CSS,更覺得這對於作為程序員的我們沒有什麼太大的必要,那些事情完全是由美工來做的,而對於Javascript則覺得他應當是與vbscript一個時代的腳本語言,其作用無非是給頁面添加一些花哨的動態效果沒有什麼實際意義,但是當我接觸到更多的新技術如AJAX的時候便覺得我所掌握的遠遠不夠,對於AJAX而言你學要知道每個細節從而能夠設計出既美觀又具有人性化的用戶界面。而AJAX所以依託的基礎便是Javascript、CSS、HTML、XML,其思想在於使用XMLHttpRequest實現非同步調用把數據偷偷的下載到客戶端從而使得用戶無需刷新界面從而得到更好的上網體驗,此三種技術在AJAX中發揮的淋漓盡致。這才知道那本OReilly的 「Javascript犀牛書」並不是蓋的。這三個基礎性的東西還是學要好好的學習,老的技術相結合也能煥發出新的光彩。
二、 TomCat
總覺的這是一個讓人頭疼的東西,學習的時候常需要給他進行很多項配置,首先是虛擬路徑,在server.xml文件夾下加上<Context path=」/test」 docBase=」F:\dwb」>,有一次給同學安裝Tomcat6.0把Tomcat5.5裡面老師寫好的server.xml直接粘貼到了Tomcat6.0的cong文件夾下竟不能運行,這才知道版本不同隨便粘貼後果是很可怕的,還是老老實實的把<Context path=」/test」 docBase=」F:\dwb」>這句話粘貼上才是。東西有時命名目錄里的東西已經更改了,TomCat也已經重新啟動了,但網頁上顯示的依舊是以前的東西,還得把C:\Program Files\Apache Software Foundation\Tomcat 5.5\work\Catalina\localhost\這個目錄下的虛擬路徑刪掉(如經典的test目錄)。在做第9、10、11章的例子的時候還要把WEB-INF文件夾放到虛擬目錄的根目錄下否則會找不到WEB-INF文件夾,總之問題多多,問題越多,自己的經驗也就越多。
三、 JSP基本語法
1、 < % %>在jsp頁面中插入Java代碼,<%= %>表達式輸出語句
2、 JSP指令和動作:指令主要是<%@page %>、<%@include %>;動作主要是<jsp:forward>、<jsp:include>、<jsp:usebean>、<jsp:setProperty>、<jsp:getProperty>
3、 四種屬性的作用域page、request、session、appliction,一個比一個大,page只對當前頁面有效,request是在兩個頁面跳轉的時候包括伺服器端的跳轉,seesion只要瀏覽器不關閉,屬性一直存在。Appliction只要伺服器(如Tomcat)不關閉它一直都存在
總之我感覺JSP的基本語法還是很簡單的無非就是幾個標簽指令什麼的,稍需要注意的是<jsp:forward>是伺服器端的跳轉URL地址不變,<%@include %>、<jsp:include>主要是包含靜態和動態的區別。
四、 JSP內置對象
Request:主要作用接受表單傳來的數據,
Response:主要是可以像客戶端發送頭部信息和重定向sendRedirect
Out:輸出一些東西
Exception:一些異常信息
Config:這個對象比較厲害,它能獲得web.xml中的許多信息,如<application>中的值,<servlet>中的parm值等
Session和applicition對象主要是用他們的setAttribute和getAttribute方法存取一些屬性值,不同之處在於他們的作用域
五、 JDBC
與資料庫進行連接,這是學習程序的重頭戲,但也不是很難,主要是記住連接資料庫的一些流程
1、 Class.forName(驅動程序字元串)
主要有四種驅動方式,字元串也各不相同,我們常用的是連接access的jdbc odbc bridge字元串為sun.jdbc.odbc.jdbcodbcdriver
2、 DirverManger.getConnection(DBURL)
DBURL字元串為 Jdbc:odbc:數據源名稱
3、新建statement對象
4、執行exectuQuery或exectuUpdata方法
5、逆序關閉資料庫
六、結語:設計模式 與開發框架
DAO模式已經過時了,現在的主流模式是MVC;其中主要用了servlet充當控制層, 還需要在web.xml中配置servlet映射,它主要是起到數據控制流向的作用,現在說有主流的框架都是使用MVC模式,如SSH,但是這些框架都沒有想微軟vasual Studio那樣的可是控制項(雖然JavaBen是一些可復用的類),2005年推出的JSF開發框架彌補了這一缺陷,相信在未來作為SUN官方標准推出的JSF開發框架可能會成為主流框架,因為ESRI的ArcGIS Server就是依託於JSF框架開發的產品,相信JSF會成為以後開發框架的主流!
⑺ java,web程序設計要學些什麼
Java Web程序設計分為5部分共19章,包括入門、JSP編程、Servlet和JavaBean開發、應用開發與框架、其他內容。
第1章 Java Web開發環境配置
1.1 B/S結構
1.2 伺服器安裝
1.2.1 伺服器的作用
1.2.2 獲取伺服器軟體
1.2.3 安裝伺服器
1.2.4 測試伺服器
1.2.5 配置伺服器
1.3 IDE安裝
1.3.1 IDE的作用
1.3.2 獲取IDE軟體
1.3.3 安裝IDE
1.3.4 配置IDE
1.4 第一個Web項目
1.4.1 創建一個Web項目
1.4.2 目錄結構
1.4.3 部署
1.4.4 常見錯誤
1.5 本章總結
1.6 上機習題
第2章 HTML基礎
2.1 靜態網頁製作
2.1.1 HTML簡介
2.1.2 HTML文檔的基本結構
2.2 HTML中的常見標簽
2.2.1 文字布局及字體標簽
2.2.2 列表標簽
2.3 表格標簽
2.3.1 表格基本設計
2.3.2 合並單元格
2.4 鏈接和圖片標簽
2.5 表單標簽
2.6 框架
2.7 本章總結
2.8 上機習題
第3章 JavaScript基礎
3.1 JavaScript簡介
3.1.1 第一個JavaScript程序
3.1.2 JavaScript語法
3.2 JavaScript內置對象
3.2.1 window對象
3.2.2 history對象
3.2.3 document對象
3.2.4 location對象
3.3 本章總結
3.4 上機習題
第4章 JSP基本語法
4.1 第一個JSP頁面
4.2 注釋
4.3 JSP表達式
4.4.JSP程序段
4.5 JSP聲明
4.6 URL傳值
4.7 JSP指令和動作
4.7.1 JSP指令
4.7.2 JSP動作
4.8 本章總結
4.9 上機習題
第5章 表單開發
5.1 認識表單
5.1.1 表單的作用
5.1.2 定義表單
5.2 單一表單元素數據的獲取
5.2.1 獲取文本框中的數據
5.2.2 獲取密碼框中的數據
5.2.3 獲取多行文本框中的數據
5.2.4 獲取單選按鈕中的數據
5.2.5 獲取下拉菜單中的數據
5.3 捆綁表單元素數據的獲取
5.3.1 獲取復選框中的數據
5.3.2 獲取多選列表框中的數據
5.3.3 獲取其他同名表單元素中的數據
5.4 隱藏表單
5.5 其他問題
5.5.1 用JavaScript進行提交
5.5.2 和文亂碼問題
5.6 本章總結
5.7 上機習題
第6章 JSP訪問資料庫
6.1 JDBC簡介
6.2 建立ODBC數據源
6.3 JDBC操作
6.3.1 添加數據
6.3.2 刪除數據
6.3.3 修改數據
6.3.4 查詢數據
6.4 使用Prepared Statement
6.5 事務
6.6 使用廠商驅動進行資料庫連接
6.7 本章總結
6.8 上機習題
第7章 JSP內置對象(1)
7.1 認識JSP內置對象
7.2 out對象
7.3 request對象
7.4 response對象
7.4.1 利用response對象進行重定向
7.4.2 利用response設置HTTP頭
7.5 Cookie操作
7.6 本章總結
7.7 上機習題
第8章 JSP內置對象(2)
8.1 利用session開發購物車
8.1.1 購物車需求
8.1.2 如何用session開發購物車
8.2 session其他API
8.2.1 session的其他操作
8.2.2 SessionId
8.2.3 利用session保存登錄信息
8.3 application對象
8.4 其他對象
8.5 本章總結
8.6 上機習題
第9章 Servlet編程
9.1 認識Servlet
9.2 編寫Servlet
9.2.1 建立Servlet
9.2.2 Servlet運行機制
9.3 Servlet生命周期
9.4 Servlet與JSP內置對象
9.5 設置歡迎頁面
9.6 在Servletr辛讀取參數
9.6.1 設置參數
9.6.2 獲取參數
9.7 使用過濾器
9.7.1 為什麼需要過濾器
9.7.2 編寫過濾器
9.7.3 需要注意的問題
9.8 異常處理
9.9 本章總結
9.10 上機習題
第10章 JSP和JavaBean
10.1 認識JavaBean
10.1.1 編寫JavaBean
10.1.2 特殊JavaBean屬性
10.2 在JSP扣使用JavaBean
10.3 JavaBean的范圍
10.4 DAO和VO
10.4.1 為什麼需要DAO和VO
10.4.2 編寫DAO和VO
……
第11章 EL和JSTL
第12章 Ajax入門
第13章 驗證碼和文件上傳、下載
第14章 MVC和Struts基本原則
第15章 Struts標簽庫
第16章 Struts資源文件和錯誤處理
第17章 Struts 2基本開發
第18章 JSP自定義標簽
第19章 Web網站安全
⑻ Javaweb中的題,求大神解答
這是一個簡單的例子,可以使用JavaScript來實現這些功能:
<form id="form1" action="">
賬號: <input type="text" id="account"><br>
密碼: <input type="password" id="password"><br>
<input type="reset" value="重置">
<input type="button" value="注冊" onclick="submitForm()">
</form>
<script>
function submitForm() {
var account = document.getElementById("account").value;
var password = document.getElementById("password").value;
if (account == "") {
alert("賬號不能為空");
return;
}
if (password.length < 8) {
alert("密碼不能少於8位");
return;
}
// 提交表單
document.getElementById("form1").submit();
}
</script>
在上面的代碼中,我們使用了兩個按鈕:重置按鈕和注冊按鈕。重置按鈕使用了HTML的"reset"類型,它會清空表單中的所有內容。注冊按鈕使用了"button"類型,並使用了"onclick"事件處理程序來調用JavaScript函數"submitForm"。在函數中,我們使用了"getElementById"方法來獲取賬號和密碼的值,然後進行檢測。如果賬號或密碼不符合要求,則使用"alert"方法彈出消息框,並使用"return"語句退出函數。如果賬號和密碼都符合要求,則使用"submit"方法提交表單。
希望這可以幫助你完成你的任務。
⑼ JAVA編程課堂考試求答案!!十萬火急!!!1. 已知學生類(Student),該類
就當是個復習吧,畢竟我也才學了一學期
希望你能滿意
這是運行截圖
package student;
public class Student {
private String college;
private String major;
private String classes;
private String name;
private int oop;
private int network;
private int sql;
private int sum;
//無參構造函數
public Student(){}
//有參構造函數
public Student( String college,
String major, String classes,
String name, int oop, int network,
int sql) {
super();
this.college = college;
this.major = major;
this.classes = classes;
this.name = name;
this.oop = oop;
this.network = network;
this.sql = sql;
}
//成員方法
public int sum(){
return oop+network+sql;
}
//getter,setter方法
public String getCollege() {
return college;
}
public void setCollege(String college) {
this.college = college;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getClasses() {
return classes;
}
public void setClasses(String classes) {
this.classes = classes;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getOop() {
return oop;
}
public void setOop(int oop) {
this.oop = oop;
}
public int getNetwork() {
return network;
}
public void setNetwork(int network) {
this.network = network;
}
public int getSql() {
return sql;
}
public void setSql(int sql) {
this.sql = sql;
}
//toString方法
@Override
public String toString() {
return "姓名:"+getName()+" "+"學院:"+getCollege()+" "+"專業:"+getMajor()
+" "+"班級"+getClasses()+" "+"總成績:"+sum();
}
}
//測試類
package student;
import java.util.Scanner;
public class MyStudent {
public static void main(String[] args) {
//2.(1)
Student s=new Student();
s.setName("張三");
s.setCollege("南大");
s.setMajor("軟體技術");
s.setClasses("軟體1班");
s.setOop(89);
s.setNetwork(86);
s.setSql(99);
System.out.println(s);
System.out.println("------------------------------------"
+ "--------------------------------------");
//2.(2)
Student s1=new Student("南大","軟體技術","軟體1班","李四", 88,98, 91);
System.out.println(s1);
System.out.println("-------------------------------"
+ "-----------------------------------------");
//2.(3)
Scanner a=new Scanner(System.in);
System.out.println("請輸入學院:");
String college=a.next();
System.out.println("請輸入專業:");
String major=a.next();
System.out.println("請輸入班級:");
String classes=a.next();
System.out.println("請輸入姓名:");
String name=a.next();
System.out.println("請輸入面向對象程序設計成績:");
int oop=a.nextInt();
System.out.println("請輸入網路原理成績:");
int network=a.nextInt();
System.out.println("請輸入姓名資料庫成績:");
int sql=a.nextInt();
Student s2=new Student(college,major,classes,name,oop,network,sql);
System.out.println(s2);
}
}
⑽ 河南大學java web考試卷,是題庫也可以!謝謝啦😘
《JAVA WEB開發應用》 第 1 頁 共 6 頁
期末考試卷(卷)
課程名稱: JAVA WEB 考試方式:開卷( )閉卷(√)
題號 一 二 三 四 五 六 總分
統分人簽名
得分
考生注意事項:1、本試卷共 4 頁,請查看試卷中是否有缺頁。 2、考試結束後,考生不得將試卷、答題紙帶出考場。
一、 選擇題(每小題1分,共20分)
得分 評卷人
1. 表單中的數據要提交到的處理文件由表單的( )屬性指定。
A.method B. name C. action D. 以上都不對 2. 要運行JSP程序,下列說法不正確的是( )
A. 伺服器端需要安裝Servlet容器,如Tomcat等。 B. 客戶端需要安裝Servlet容器,如Tomcat等。 C. 伺服器端需要安裝JDK。
D. 客戶端需要安裝瀏覽器,如IE等。
3. 當發布Web應用程序時,通常把Web應用程序的目錄及文件放到Tomcat
的( )目錄下。
A.work B. temp C. webapps D. conf 4. 下面有關HTTP協議的說法不正確的是( )
A. HTTP協議是Web應用所使用的主要協議
B. HTTP協議是一種超文本傳輸協議(Hypertext Transfer Protocol),
是基於請求/響應模式的
C. HTTP是無狀態協議
D. HTTP的請求和響應消息如果沒有發送並傳遞成功的話,HTTP可以保存
已傳遞的信息
5. 下面有關Servlet的描述錯誤的是( )。
A. 一個Servlet就是Java中的一個類
B. Servlet是位於Web 伺服器內部的伺服器端的Java應用程序 C. Servlet可以由客戶端的瀏覽器解釋執行
D. 載入Servlet的Web伺服器必須包含支持Servlet的Java虛擬機 6. 下面不屬於JSP指令的是:( )
A. include B. import C. page D. taglib 7. ( )動作用於轉向另一個頁面。
A. next B. forward C. include D. param 8. 在項目中已經建立了一個JavaBean,該類為:bean.Student,該bean具
有name屬性,則下面標簽用法正確的是:( )
A.<jsp:useBean id="student" class="Student" scope="session">
</jsp:useBean>
B.<jsp:useBean id="student" class="Student" scope="session">
</jsp:useBean>
C.<jsp:useBean id="student" class="bean.Student" scope="session">
</jsp:useBean>
D.<jsp:getProperty name="name" property="student"/>
9. 下列選項中,( )可以准確地獲取請求頁面的一個文本框的輸入(文本框的名稱為name)。
A. request.getParameter(name) B. request.getParameter(」name」) C. request.getParameterValues(name)
《JAVA WEB開發應用》 第 2 頁 共 6 頁
D. request.getParameterValues(「name」)
10. 使用response對象進行重定向時,使用的方法是( )。
A. getAttribute B. setContentType C. sendRedirect D. setAttribute
11. session對象中用於設定指定名字的屬性值,並且把它存儲在session對
象中的方法是( )。
A. setAttribute B. getAttributeNames C. getValue D. getAttribute
12. 在application對象中用( )方法可以獲得application對象中的所有
變數名。
A. getServerInfo B. nextElements() C. removeAttribute D. getRealPath 13. 有關struts 2的說法不正確的是( )
A. Struts是一個用於簡化MVC框架(Framework)開發的Web應用框架 B. 應用Struts 2不需要進行配置 C. Struts 2 含有豐富的標簽
D. Struts2採用了WebWork的核心技術 14. Web應用的數據共享方式不包括( )。
A.基於請求的共享 B.基於會話的共享 C.基於頁面的共享 D.基於應用的共享
15. 要在頁面上輸出2+3=${2+3},則對應的程序代碼應為( )。
A. 2+3=\${2+3} B. 2+3=${2+3} C. 2+3=/${2+3} D. 以上都不對
16. 下面有關EL中「.「和「[ ]「兩種存取運算符的說法不正確的是( )
A. 兩者在某些情況下是等效的
B. 「[ ]「運算符主要用來訪問數組、列表或其他集合 C. 如果要動態取值時,兩者都可以實現
D. 當要存取的屬性名稱中包含一些特殊字元,如.或?等並非字母或數字
的符號,就一定要使用「[ ]「
17. 要使用JSTL的核心標簽庫,需要在JSP源文件的首部加入如下聲明語句
( )
A. <%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %> B. <%@ taglib prefix=」x」
uri=」http://java.sun.com/jsp/jstl/xml」%> C. <%@ taglib prefix=」fmt」
uri=」http://java.sun.com/jsp/jstl/fmt」%> D. <%@ taglib prefix=」sql」
uri=」http://java.sun.com/jsp/jstl/sql」%>
18. 以下( )標簽用於實現循環功能,類似與Java語句中的for循環。
A. <c:set> B. <c:forEach> B. <c:Tokens> D. <c:import> 19. 以下URL中語法不正確的是( )
A.http://www.bta.net.cn:80/software/home.html B.telnet://bdysseu.bbb.com:70 C.ftp://ftp.btbu.e.cn D.www0.btbu.e.cn
20. page指令用於定義JSP文件中的全局屬性,下列關於該指令用法的描述不
正確的是:( )
A. <%@ page %>作用於整個JSP頁面。
B. 可以在一個頁面中使用多個<%@ page %>指令
《JAVA WEB開發應用》 第 3 頁 共 6 頁
C. 為增強程序的可讀性,建議將<%@ page %>指令放在JSP文件的開頭,但不是必須的。
D. <%@ page %>指令中的屬性只能出現一次。
二、 填空題(每空2分,共20分)
得分 評卷人
1.在編寫Servlet時,需要繼承 類,在Servlet中聲明doGet()和doPost()需要 和 類型的兩個參數。
2.jsp主要內置對象有: 、exception、 pageContext、 request 、 、_____ __、out、config、page。 3.使用useBean動作標記的時候scope屬性有4種選項,作用范圍由小到大是_________、_________、_________、_________,其中_________是指當關閉瀏覽器的時候這個javabean失效, ____ _____是指當關閉伺服器的時候這個javabean失效。
4.三種常用的動態網頁技術是_________、_________、_________,簡稱3P技術。
5.JSP利用JDBC操作資料庫的步驟:(1)載入驅動程序,調用___________將自動載入驅動程序類;(2)建立連接,若連接字元串為:
String url = "jdbc:mysql://localhost/" + dbName +"?user=" +userName +"&password=" +userPwd,其中dbName、userName和userPwd 3個分別代表 、資料庫的 和 ,(3)建立StateMent;(4) 、執行sql語句,其中,查詢資料庫里的表內容是Statement介面使用__ __________方法;(5)關閉資料庫。 三、 簡答題:(每小題6分,共30 分)
得分 評卷人
1. Tomcat伺服器的默認埠是多少?怎樣修改tomcat的埠
2.什麼是cookie? cookie有什麼作用?。
3. 簡述JSP中動態include與靜態include的區別?
4. 簡述表單中POST和GET的區別。
5、MVC中的M、V、C各指的是什麼?請述其各自的作用。 四、編程題(每小題15分,共30分)
《JAVA WEB開發應用》 第 4 頁 共 6 頁
得分 評卷人
1、編寫一個簡單的JavaBean,通過EL的存取運算符訪問其屬性。 答案:文件userLogin.java定義了一個用戶Bean,包含姓名、密碼和電子郵件3個屬性,其代碼如下:
package bean;
public class userLogin { private String userName; private String (1) private String email; public userLogin() { userName = "李平"; password = "123";
email = "[email protected]";
}
public void setuserName(String userName) { this.userName = userName; }
public String getuserName() { return this.userName; }
public void setpassword(String password) { this.password = password; }
public String getpassword() {
return this.password;
}
public void setemail(String email) { this.email = email;
}
public String getemail() { return this.email; }
}
文件accessBean.jsp使用EL的存取運算符獲取JavaBean的屬性,其代碼如下:
<%@ page contentType="text/html; charset=gb2312"%> (2)
<jsp:useBean id="user" class="bean.userLogin" scope="session"> </jsp:useBean> <html> <head>
<title>使用存取運算符訪問JavaBean的屬性</title>
</head> <body> <!--通過EL存取運算符訪問JavaBean的屬性--> 用戶名:(3) <br>
密碼:(4)
<br>
電子郵箱:(5)
《JAVA WEB開發應用》 第 5 頁 共 6 頁