以前記的東西。
1、表單request漢字處理:
request.setcharacterencoding("gb2312")
2、在jsp網(wǎng)頁中獲取頁面的名稱:
request.getrequesturi() ;//文件名
request.getrequesturl() ;//全部url
3、 頁面不保留緩存:
response.setheader("pragma","no-cache");
response.setheader("cache-control","no-cache");
response.setdateheader("expires", 0);
4、日期時間(服務(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()%>
5、java中運用正則。jdk需是1.4以上 import="java.util.regex.*
6、點后退顯示網(wǎng)頁過期
在里面加以下代碼
<meta http-equiv=pragma content=no-cache>
<meta http-equiv=cache-control content=no-cache>
<meta http-equiv=expires content=0>
和 3 原理一樣。
7、計算執(zhí)行所花費的時間
代碼開始取時間,結(jié)束后取時間,相減
long t1 = system.currenttimemillis();
///////////////// your code
long t2 = system.currenttimemillis() ;
long time = t2-t1;
8、四舍五入,保留小數(shù)點后兩位小數(shù)?
import java.text.*;
numberformat nf=numberformat.getnumberinstance();
nf.setmaximumfractiondigits(2);
nf.setminimumfractiondigits(2);
nf.format(numb);
或者(+0.005 - 0.01)再取.后兩位
9、form的默認(rèn)方法是get.
post方式是向服務(wù)器傳送大容量數(shù)據(jù)時使用的方法。(再打開一個socket.?)
10、 防止用戶直接輸入url進去頁面:
一 是在要訪問的頁面中加入控制.這個一般用session。
二 是從web服務(wù)器控制,對某一目錄的所有訪問要通過驗證.(有人說把jsp放到web-inf下)
11、數(shù)據(jù)庫是datetime 型 ,插入當(dāng)前時間到數(shù)據(jù)庫:
java.sql.date sqldate = new java.sql.date();
preparedstatement pstmt = conn.preparestatement("insert into foo(time) values(?)");
pstmt.setdate(1,sqldate);
pstmt.executeupdate();
其實一般數(shù)據(jù)庫都有自己的系統(tǒng)時間函數(shù)。
insert into foo(time) values(sysdate)
12、 session存取int類型的變量:
session.setattribute("int", i+""); //注意這里i+""
int i = integer.parseint(session.getattribute("int"));
session的一些概念。
用戶在瀏覽網(wǎng)頁時,由于http 協(xié)議是一種無狀態(tài)的協(xié)議,往往在不同的頁面之間存在數(shù)據(jù)交換的問題,這就需要在這些不同的頁面之間共享數(shù)據(jù)。常見的實現(xiàn)方法是把要共享的數(shù)據(jù)保存到session 中。比如在用戶登錄的頁面中把一些用戶的信息保存到session 之中,然后在其他的頁面中讀取用戶的信息。這些共享的數(shù)據(jù)可以是字符串或者與java 的原始數(shù)據(jù)類型相關(guān)的對象,也可以是一個java 對象。
session 只能保存對象,不能保存原始的數(shù)據(jù)類型,比如:
session.setattribute(“count”,10)
是非法的語句,如果要把值為10 的整數(shù)保存到session 中,需要使用以下的方法:
session.setattribute(“count”,new integer(10));
然后在另一個頁面中使用:
(integer)session.getattribute(“count”)
來把這個整數(shù)讀取出來。
was中設(shè)置可以把session放在系統(tǒng)的數(shù)據(jù)庫中,但這樣影響效率。session大小最好不要太大
13、把字符轉(zhuǎn)化成ascii碼
int a='a'; out.println(a);
14、string s = new string("xyz");創(chuàng)建了兩個string object對象,一個是“xyx”,一個是指向“xyx”的引用對象s。
還有典型的equals() 與 == 這個參考在堆棧原理。
15、swtich不能作用在long上和string上:
switch(expr1)中,expr1是一個整數(shù)表達式。傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是
int、 short、 char 或者 byte。long,string 都不能作用于swtich。
16、hashtable和hashmap
hashtable繼承自dictionary類,而hashmap是java1.2引進的map interface的一個實現(xiàn)hashmap允許將null作為一個entry的key或者value,而hashtable不允許hashtable的方法是synchronize的,而hashmap不是,在多個線程訪問hashtable時,不需要自己為它的方法實現(xiàn)同步,而hashmap就必須為之提供外同步。
新聞熱點
疑難解答