問題實(shí)錄(一)
發(fā)表時(shí)間:2024-02-22 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]1. 問:在JAVA與JSP中要調(diào)用一個(gè)LINUX上的腳本程序,或WINDOWS上的腳本程序,該怎么寫? 答:System.getRuntime().exec("bash < aaa.sh");2. 問:java中用什么表示雙引號(hào) 答:"\"...
1. 問:在JAVA與JSP中要調(diào)用一個(gè)LINUX上的腳本程序,或WINDOWS上的腳本程序,該怎么寫?
答:System.getRuntime().exec("bash < aaa.sh");
2. 問:java中用什么表示雙引號(hào)
答:"\""
3. 問:如何在JSP程序里另起一個(gè)線程?
答:
JSP本身就是獨(dú)立線程運(yùn)行而不象CGI都是獨(dú)立進(jìn)程.
一般:
Thread t = new Thread("你的對(duì)象\\");
t.start();就可以了.
要求你這個(gè)對(duì)象要實(shí)現(xiàn)runnable接口或繼承thread.
4. 問:jsp如何獲得客戶端的IP地址?
答:
request.getRemoteAddr()
看看各個(gè)webserver的API文檔說明,一般都有自帶的,resin和tomcat都有
5. 問:程序終止與輸出終止
答:
程序中止:return;
輸出中止:out.close();這一句相當(dāng)于ASP的response.end
6. 問:jsp中如何得到上頁的URL?
答:request.getHeader("referer");
7. 問:提交網(wǎng)頁的網(wǎng)頁過期功能是怎么做的?
答:response.setHader("Expires","0");
8. 問:在JSP網(wǎng)頁中如何知道自已打開的頁面的名稱
答:
request.getRequestURI() ;//文件名\r
request.getRequestURL() ;//全部URL
9. 問:提交表單后驗(yàn)證沒有通過,返回提交頁面,如何使原提交頁面中的數(shù)據(jù)保留?
答:javascript的go(-1)可以把上頁的表單內(nèi)容重新顯示出來,但password域沒有
10. 問:如何取得http的頭信息?
答:request.getHader(headerName);
11. 問:&&和&的區(qū)別?
答:
&&是短路的與操作,也就是當(dāng)?shù)匾粋(gè)條件是false的時(shí)候,第二個(gè)條件不用執(zhí)行
&相反,兩個(gè)條件總是執(zhí)行。
12. 問:將*以正弦曲線的一個(gè)周期顯示出來
答:
public void paint(Graphics g)
{
for(int i=0;i<200;i++)
g.drawString("*",i,(int)(Math.sin(i)*20)+50);
}
}
13. 問:浮點(diǎn)數(shù)相乘后結(jié)果不精確如100.0 * 0.6 結(jié)果等于 60.0004
答:
這不叫錯(cuò)誤,float和double是這樣實(shí)現(xiàn)的.如果要精確計(jì)算,java提供了一個(gè)\r
strictfp,它的計(jì)算遵循IEEE 754標(biāo)準(zhǔn).而普通的float和double是由地平臺(tái)浮點(diǎn)格式或硬件提\r
供的額外精度或表示范圍。
14. 問:如何獲得當(dāng)前用的cursors的位置?
答:
int row = rs.getRow()就是當(dāng)前指針行數(shù),還有
isFrist();isBeforeFist();isLast();isAfterLast();可以測(cè)試是不是在方法名所說的位置
15. 問:表單成功提交了,點(diǎn)后退顯示網(wǎng)頁過期
答:
在<head></head>里面加以下代碼\r
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
或者
在表單頁中加上
<%
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
%>
16. 問:接口的簡單理解\r
答:接口為了規(guī)范,比如我在接口中定義了一個(gè)方法:
getData()
這是用來從不同的數(shù)據(jù)庫中取數(shù)據(jù)的,就是JDBC的實(shí)現(xiàn)
對(duì)于用戶,我不要知道每種數(shù)據(jù)庫是如何做的,但我知道如何它們要實(shí)現(xiàn)這個(gè)接口就一定有這個(gè)方法可以供我調(diào)\r
用.這樣SUN就把這個(gè)接口給各個(gè)數(shù)據(jù)庫開發(fā)商,讓他們自己實(shí)現(xiàn).
但為什么不用繼承而用接口哩,因?yàn)槔^承只能從一個(gè)你類繼承,而接口可以實(shí)現(xiàn)多個(gè),就是說我實(shí)現(xiàn)的子類有多\r
個(gè)規(guī)定好的接口中的功能.
這只是簡單的理解,等你深入理解抽象的時(shí)候就知道抽象到抽象類時(shí)為什么還要再抽象到接口.
17. 問:怎樣編寫一個(gè)取消按鈕(怎樣返回上一個(gè)頁面,象工具欄的后退按鈕)?
答:
javascript把每次瀏覽過的location都?jí)旱搅艘粋(gè)棧中,這個(gè)棧就是
history,然后你如果要回到第幾個(gè)頁面它就做幾次POP操作,把最后POP出來的那個(gè)LOCATION給你.
這就是JAVASCRIPT在實(shí)現(xiàn)history.go(-x)的原理.
18. 問:什么是回調(diào)?
答:
簡單說,回調(diào)用不是讓你去監(jiān)聽誰做完了什么事,而是誰做完了什么事就報(bào)告給你.
這就是回調(diào)用的思想.例子太多了,AWT的事件,SWING事件模型都是這樣有.
還有多線程中,如果要控制線程數(shù),不能總是查詢每個(gè)線程是否結(jié)束,要在每個(gè)線程結(jié)束時(shí)讓線程自己告訴主線
程我結(jié)束了,你可以開新的線程了.
19. 問:簡要介紹一下compareTo方法
答:
compareTo方法是Comparable 接口必需實(shí)現(xiàn)的方法,只要實(shí)現(xiàn)Comparable 就可以用Arrays.srot()排序就象實(shí)
現(xiàn)Runnable接口的run就能Thread()一樣.
20. 問:如何可以從別的Web服務(wù)器檢索頁, 然后把檢索到的網(wǎng)頁的HTML代碼儲(chǔ)存在一個(gè)變量中返回過來
答:這是一個(gè)簡單的WEB ROBOT實(shí)現(xiàn),用URL類實(shí)現(xiàn)從網(wǎng)頁中抓內(nèi)容,然后自己寫一個(gè)分析程序從中找出新的URL,不斷遞歸下去就行了.