JSP編程的過(guò)程中會(huì)遇到各種各樣的問(wèn)題
在JSP編程的過(guò)程中會(huì)遇到各種各樣的問(wèn)題
JSP常見(jiàn)問(wèn)題1:
表單request漢字處理:
- request.setCharacterEncoding("GB2312")
JSP常見(jiàn)問(wèn)題2:
在JSP網(wǎng)頁(yè)中獲取頁(yè)面的名稱(chēng):
- request.getRequestURI() ;//文件名
- request.getRequestURL() ;//全部url
JSP常見(jiàn)問(wèn)題3:
頁(yè)面不保留緩存:
- response.setHeader("Pragma","No-cache");
- response.setHeader("Cache-Control","no-cache");
- response.setDateHeader("Expires", 0);
JSP常見(jiàn)問(wèn)題4:
日期時(shí)間(服務(wù)器端)
- String datestr ;
- java.text.DateFormat df = new java.text.SimpleDateFormat("MM月dd日 HH:mm E"); //這里格式化
- datestr = df.format(new java.util.Date()) ;
- out.println(datestr);
或者
- % java.util.Date shijian= new java.util.Date();%>
- %=shijian.getYear()+1900%>%=shijian.getMonth()+1%>%=shijian.getDate()%>
- %=shijian.getHour()%>%=shijian.getMinute()%>
JSP常見(jiàn)問(wèn)題5:
java中運(yùn)用正則。
jdk需是1.4以上 import="java.util.regex.*
JSP常見(jiàn)問(wèn)題6:
點(diǎn)后退顯示網(wǎng)頁(yè)過(guò)期
在里面加以下代碼
- META http-equiv=Pragma content=no-cache
- META http-equiv=Cache-Control content=no-cache
- META http-equiv=Expires content=0
和 3 原理一樣。
JSP常見(jiàn)問(wèn)7:
swtich不能作用在long上和String上:
switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。傳遞給 switch 和 case 語(yǔ)句的參數(shù)應(yīng)該是
int、 short、 char 或者 byte。long,string 都不能作用于swtich。
JSP常見(jiàn)問(wèn)題8:
計(jì)算執(zhí)行所花費(fèi)的時(shí)間
代碼開(kāi)始取時(shí)間,結(jié)束后取時(shí)間,相減
- long t1 = System.currentTimeMillis();
- .... ...... .... ...your code
- long t2 = System.currentTimeMillis() ;
- long time = t2-t1;
JSP常見(jiàn)問(wèn)題9:
四舍五入,保留小數(shù)點(diǎn)后兩位小數(shù)?
- import java.text.*;
- NumberFormat nf=NumberFormat.getNumberInstance();
- nf.setMaximumFractionDigits(2);
- nf.setMinimumFractionDigits(2);
- nf.format(numb);
或者(+0.005 - 0.01)再取.后兩位
JSP常見(jiàn)問(wèn)題10:
form的默認(rèn)方法是get.
post方式是向服務(wù)器傳送大容量數(shù)據(jù)時(shí)使用的方法。(再打開(kāi)一個(gè)socket.?)
JSP常見(jiàn)問(wèn)題11:
防止用戶(hù)直接輸入url進(jìn)去頁(yè)面:
◆是在要訪問(wèn)的頁(yè)面中加入控制.這個(gè)一般用session。
◆是從web服務(wù)器控制,對(duì)某一目錄的所有訪問(wèn)要通過(guò)驗(yàn)證.(有人說(shuō)把jsp放到web-inf下)
JSP常見(jiàn)問(wèn)題12:
數(shù)據(jù)庫(kù)是datetime 型 ,插入當(dāng)前時(shí)間到數(shù)據(jù)庫(kù):
- java.sql.Date sqlDate = new java.sql.Date();
- PreparedStatement pstmt = conn.prepareStatement("insert into foo(time) values(?)");
- pstmt.setDate(1,sqlDate);
- pstmt.executeUpdate();
其實(shí)一般數(shù)據(jù)庫(kù)都有自己的系統(tǒng)時(shí)間函數(shù)。
insert into foo(time) values(sysdate)
JSP常見(jiàn)問(wèn)題13:
session存取int類(lèi)型的變量:
- session.setAttribute("int", i+""); //注意這里i+""
- int i = Integer.parseInt(session.getAttribute("int"));
session的一些概念。
用戶(hù)在瀏覽網(wǎng)頁(yè)時(shí),由于Http 協(xié)議是一種無(wú)狀態(tài)的協(xié)議,往往在不同的頁(yè)面之間存在數(shù)據(jù)交換的問(wèn)題,這就需要在這些不同的頁(yè)面之間共享數(shù)據(jù)。常見(jiàn)的實(shí)現(xiàn)方法是把要共享的數(shù)據(jù)保存到 Session 中。比如在用戶(hù)登錄的頁(yè)面中把一些用戶(hù)的信息保存到Session 之中,然后在其他的頁(yè)面中讀取用戶(hù)的信息。這些共享的數(shù)據(jù)可以是字符串或者與Java 的原始數(shù)據(jù)類(lèi)型相關(guān)的對(duì)象,也可以是一個(gè)Java 對(duì)象。
Session 只能保存對(duì)象,不能保存原始的數(shù)據(jù)類(lèi)型,比如:
session.setAttribute(“count”,10)
是非法的語(yǔ)句,如果要把值為10 的整數(shù)保存到Session 中,需要使用以下的方法:
session.setAttribute(“count”,new Integer(10));
然后在另一個(gè)頁(yè)面中使用:
(Integer)session.getAttribute(“count”)
來(lái)把這個(gè)整數(shù)讀取出來(lái)。
was中設(shè)置可以把session放在系統(tǒng)的數(shù)據(jù)庫(kù)中,但這樣影響效率。session大小最好不要太大
JSP常見(jiàn)問(wèn)題14:
把字符轉(zhuǎn)化成ASCII碼
int a='A'; out.println(a);
JSP常見(jiàn)問(wèn)題15:
String s = new String("xyz");創(chuàng)建了兩個(gè)String Object對(duì)象,一個(gè)是“xyx”,一個(gè)是指向“xyx”的引用對(duì)象s。
還有典型的equals() 與 == 這個(gè)參考在堆棧原理。
JSP常見(jiàn)問(wèn)題16:
Hashtable和HashMap
Hashtable繼承自Dictionary類(lèi),而HashMap是Java1.2引進(jìn)的Map interface的一個(gè)實(shí)現(xiàn)HashMap允許將null作為一個(gè)entry的key或者value,而Hashtable不允許
Hashtable的方法是Synchronize的,而HashMap不是,在多個(gè)線程訪問(wèn)Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須為之提供外同步。
posted on 2013-03-25 17:17 何云隆 閱讀(321) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): Jsp