46. 問:怎樣去掉字符串前后的空格。
答:String.trim()
47. 問:session怎樣存取int類型的變量?
答:
session.setAttribute("int", i+"");
int i = Integer.parseInt(session.getAttribute("int"));
48. 問:在javascript中如何使輸出的float類型的數(shù)據(jù)保留兩位小數(shù)。
答:Math.round(aaaaa*100)/100。
49. 問:在bean種如何調(diào)用session
答:
你可把session對象作為一個參數(shù)傳給bean
在BEAN中定義HttpServletRequest request;HttpSession session;
然后
session = request.getSession(false);
false為如果session為空,不建立新的session
將session作為參數(shù)傳入.其實只要將request傳入就可以
50. 問:如何把txt或word文件按原格式顯示在jsp頁面或servlet上?
答:
其實一個非常簡單的解決方法就是在服務(wù)器的MIME中指點定TEXT和WORD的解釋方式,然后用JSP或SERVLET生成它就行了,客戶端就會自動調(diào)用相應(yīng)程序打開你的文檔。
如果是希望按原格式的顯示在頁面上,而不是調(diào)用其他程序打開那么你可以試試用WEBDEV協(xié)議,可以說這是MS的一個亮點.它是在WEB方式下打開文檔,和共享一樣.完全符合的要求。
51. 問:object的clone方法為什么不能直接調(diào)用?
答:
這個方法在object中是protected
為什么要把這個方法定義為protected,這是一個折中,它的目的是想知道你這個方法在Object里只是一個標記,而不是一個實現(xiàn),比如
public class Object
{
.............
protected Object clone()
{}
}
所以直接繼承的clone()方法并不能做任何時,你要使用這個方法就要重載這個方法并放寬訪問權(quán)限為public,或?qū)崿F(xiàn)cloneable接口. 但它沒法這樣告訴你它沒有真的實現(xiàn),只好用protected 方法加以警示
52. 問:一個頁面中如何刷新另外一個頁面?
答:
要求是這些面頁必須有關(guān)聯(lián),一是它們都有一個共同的頂層幀,也就是說是一個幀內(nèi)的分級頁面,當然可以是任意級,幀內(nèi)再分幀也可以,另一個可能是當前窗口彈出的窗口,如果沒有聯(lián)系,那就不可能用一個頁面刷新另一個頁面. 幀內(nèi)只要一級一級引用就行了. 比如在左幀中一個頁面中寫top.right.location.reload();那么名為right的右?guī)械捻撁婢蜁⑿? 彈出的一樣,用open時的名稱刷新子窗口,子窗口用opener刷新主窗口
53. 問:如何在jsp中怎么樣向客戶端寫cookies?
答:
Cookie coo = new Cookie(name, value);
HttpServletResponse.addCookie(name);
54. 問:為什么jTextField1.setText("aaabbb");jTextField2.setText("AAABBB"); 得到的字體寬度不一樣?
答:就是說如果不是指定為等寬字體,每個字體的寬度都是不一樣的.因此JAVA中用FontMetrics 類來取字符寬度。
55. 問:String kk=application/octet-stream; name="G:/SMBCrack.exe";如何得到SMBCrack.exe?
答:
這應(yīng)該是解析上傳時候的二進制流得到的這一行里面格式是固定的,取到name="后面的字符串,然后把";去掉。然后取最后一個/后面的所有字符組成一個新字符串就行了。
56. 問:如何傳值并不刷新頁面?
答:
彈出一個頁面進行值的選擇或者輸入,ok后使用將值傳給原窗口,使用javascript關(guān)閉打開的窗口即可:
window.close();opener.focus();
?
57. 問:有一個字符串:"EF0C114EA4",如何變?yōu)閍[0] = 0xEF a[1] = 0x0C a[2] = 0x11 a[3] = 0x4E a[4] = 0xA4?
答:
String str="EF0C114EA4F";
out.print(str+"<br>");
int l=str.length()/2+str.length()%2,j=0,k=0;
String[] a=new String[l];
for(int i=0;i<l;i++){
if(str.length()-j==1)
k=str.length();
else
k=j+2;
a="0x"+str.substring(j,k);
out.print("a["+Integer.toString(i)+"]="+a+"<br>");
j+=2;
}
58. 問:怎樣將一個int轉(zhuǎn)換成一個四字節(jié)的byte數(shù)組?
答:
int x = 1234567;
byte[] b = new byte[4];
for(int i=0;i<b.length;i++)
{
b = (x >>( i*8)) & 0xFF;
}
59. 問:indexOf()的使用需要注意什么?
答:參數(shù)是指從第幾位(1,2,3,...)開始搜索,而返回值是指搜索到的位置(0,1,2,3.......)注意是從零算起的。
60. 問:在Java應(yīng)用程序中如何動態(tài)的添加一個按鈕?
答:
這里涉及一個組件重繪的問題,組件要先于panel被顯示之處存在,如果一panel已經(jīng)顯示了,那么加在上面你能看到嗎?但如果在同一個panel上, 先有button A,假如按下它加了butt on B,這時你如果使整個panel重給,那么A本身要重繪,它的事件監(jiān)聽就沒有了,當然也就加不成B了,所以如果要先有另一個panel,當按A時把B加在這個panel上并重繪這個paenl,其實更好的方法是先把B加在panel中,同一個也行.把它setVisiable(flase),按A時設(shè)為 true。
61. 問:book mybook=new book(bookid);book是servlet,出錯。
答:
book是servlet,能book mybook=new book(bookid);
說明自己實現(xiàn)了servlet容器?不然,servlet能讓你自己去調(diào)用? servlet如果調(diào)用其實和EJB連1%的區(qū)別都沒有,它們都是自己繼承或?qū)崿F(xiàn)一些接口,在這些父類或接口中實現(xiàn)了如果和容器\"打交道"的方法,然后容器調(diào)用這些方法來管理它,讓它生成實例,池化,鈍化,銷毀,再生等.所以這樣寫是錯誤的。
62. 問:給定一個字符串5*(5+9)/7怎樣計算出結(jié)果?
答:
可有兩種方法
1。用堆棧完成
2。最簡單的方法,不用編程,如果有任何一個數(shù)據(jù)庫的化,用select (5*(5+9)/7) from oneTable
63. 問:如何實現(xiàn)遞交表單內(nèi)容的加密解密?
答:
如果你用IE目前只能用SSL協(xié)議,這一層不要你考慮,否則只你用你自己的工具加密傳輸,接收后再解密友,至于如何加解,如果要和公認的系統(tǒng)結(jié)合,就用通用的MD5,RAS等公開算法,如果你只是自己傳自己解,你隨便按你的想法把數(shù)據(jù)加上一些東西,取回來按規(guī)則減掉這些東西,我敢保證除你自己沒有任何人能知道解密方法.
64. 問:為什么Integer.parseInt("+1");會拋出NumberFormatException的異常?
答:因為"+"運行算在JAVA中被重載.系統(tǒng)無法確定你用的是算術(shù)加還是字符+。
這一點可以在JAVASCRIPT中更好地理解:
<form name="t"><input name=s value=1234></form>
var a = document.t.s.value+1;
這時a = 12345,因為document.t.s.value作為字符串.但var a = document.t.s.value-1;
a 就是1233,因為系統(tǒng)知道-運算肯定是算術(shù)運行.所以把document.t.s.value轉(zhuǎn)換成數(shù)字.
?
65. 問:hashCode() 有什么用為什么有時候需要覆蓋Object里的hashcode()方法?
答:這就是這個對象的身份證啊,要不如何區(qū)分哪個對象。
66. 問:怎樣在tomcat中實現(xiàn)一個定時執(zhí)行的東東?
答:
在應(yīng)用程序啟動時自動運行。servlet2.3中定義了ServletListener,監(jiān)聽Servlet Con text的啟動或則關(guān)閉(可在配置文件中配置),啟動時觸發(fā)一個守護程序的運行(可以實現(xiàn)java.util.Timer或則 javax.swing.Timer).
67. 問:程序可以輸出自己嗎?
答:孔德悖論這個非常有名的法則.就是說任何程序都不可能輸出自己.
68. 問:能夠把字符轉(zhuǎn)化成ASCII碼?比如將 A 轉(zhuǎn)化成 65?
答:
int a='A';
out.println(a);
69. 問:如何區(qū)分輸入的文字中的全角與半角?
答:由于不能分辨出全角和半角字符的值有什么規(guī)律,只好把全角符號牧舉出來了.
70. 問:用戶注冊后的自動發(fā)信程序該怎么做?
答:
這種發(fā)信程序不考慮性能,因為不可能1秒就有一個人注冊,我們說的考慮性能的發(fā)信程序是指上百萬封信在隊列里要不停發(fā)送的那種,象你這個隨便怎么寫一個程序都行,沒有必要用JAVAMAIL.只要指定一個發(fā)信的服務(wù)器然后用cocket連它的25口就行了.自己用SOCKET連SMTP的25口發(fā)一封信就好象兩個鄰居之間送一樣?xùn)|西,直接遞過去得了,用JAVAMAIL,消息機制就是你把這個東西從郵局寄給你的鄰居了.