pagecontext 通過它可以.出其他8大內建物件
config
page
exception
getid
獲取sessionid
setmaxinactiveinterval
設定session最大失效時長
getmaxinactiveinterval
獲取··
invalidate
手動設定失效
setattribute(string key,object value)
以key-value的形式儲存資料到session中
getattribute(string key)
通過key獲取對應值
removeattribute(string key)
從session中刪除指定key對應值
為了避免**冗餘,驗證沒有登入而跳轉到登入介面的**,可以放在乙個單獨的只有
這些**的jsp檔案中,再在需要登陸驗證的頁面匯入該jsp檔案
<%@ include file="logincontroller.jsp" %>
1.呼叫setmaxinactiveinterval(s)單位是秒
2.在專案中的web.xml或者tomcat中的web.xml中修改session失效時長(單位是分鐘)
新增如下**:
1注意:乙個專案中一般有兩個web.xml(專案中和tomcat中);
如果有配置重複的選項,會以專案中的web.xml為準
tomcat 中的web.xml是全域性配置
out
write 只能列印字元
println
request用於封裝由客戶端傳送給伺服器端的資訊(如表單註冊資訊)
方法:getparameter 根據name屬性獲取該值
getparametervalues
上面的複數
setcharacterencoding
設定伺服器獲取到的資料的編碼格式(tomcat預設採用iso-8859-1)
response用於封裝返回由伺服器響應客戶端反饋給客戶端的資訊
sendredirect(string location) 讓客戶發出另乙個url的請求資訊,達到跳轉;另乙個頁面的作用
分析頁面出現亂碼 主要分析以下3個方面的編碼格式是否一致(不一致就出現亂碼)
1.jsp頁面本身的編碼
pageencoding 頁面本身的編碼
contenttype: 瀏覽器渲染頁面的時候採用的編碼格式
一旦這兩個其中一種編碼格式已經指定 另外一種編碼格式如果不進行指定的話
預設都採用已經指定的編碼格式
2. 瀏覽器渲染頁面採用的編碼
3.伺服器儲存資料採用的編碼(request) 預設採用的是:iso-8859-1
1.提交表單時,採用post時:
request.setcharacterencoding("utf-8");設定伺服器儲存資料的編碼格式為utf_8;
2.提交表單時,採用get時(資料提交到url中):(第一種方法就不適用了,因為設定的是request內部儲存
資料的格式,不包括url)
a.改變在request獲取出來的資料編碼
//讀取資料
string name=request.getparameter("name");
//對獲取的資料進行字元轉碼:
name=new string(name.getbytes("iso-8859-1"),"utf-8");
b.改變url的編碼格式
在tomcat中 config/server.xml中新增 uriencoding="utf-8"
在呼叫重定位方法(sendredirect)後,無法獲取到第一次請求後提交的註冊資料
原因:瀏覽器發起了兩次請求,導致第一次請求失效
解決辦法:
1.儲存第一次請求獲取到的資料,並作為引數來發起第二次請求
使用查詢字串:?連線 有多個值對時,用&分隔
response.sendredirect("welcome.jsp?username="+username);
2.只傳送一次請求,即**
<%
requestdispatcher rd=request.getrequestdispatcher("welcom.jsp");
rd.forward(request,response);
%>
**的作用: 在多個頁面互動過程中請求中的資料可以共享;
1.**:
**是在伺服器端發揮作用,將同一請求在伺服器資源之間進行傳遞
客戶端瀏覽器的位址列不會顯示轉向後的位址
只發出一次請求
2.重定向:
重定向是在客戶端發揮作用,通過傳送乙個新的請求來實現頁面轉向
在位址列中可以顯示轉向後的位址
不止一次請求
cookie常用方法:
setmaxage(int s) 設定cookie有效期,以秒為單位
setvalue(string value) 在cookie建立後,對cookie進行賦值
getname() 獲取cookie名稱
getvalue() 獲取cookie值
int getmaxage 獲取cookie的效時間,以秒為單位
cookie newcookie=new cookie(string key,string value);
//寫入cookie
response.addcookie(newcookie);
//讀取cookie
cookie coolies=request.getcookies();
cookie 與 session 區別:
session:
在伺服器端儲存使用者資訊
session中儲存得時object型別
隨會話得結束而將其儲存資料銷毀
儲存重要得資訊
cookie
在客戶端儲存使用者資訊
cookie儲存得時string 型別
cookie可以長期儲存在客戶端
儲存不重要得使用者資訊
junit中的執行順序(beforeclass,before,after,afterclass可以省略,只執行test);
beforeclass
before
test
after
(還有其他test,就繼續..)
before
test
after
直到沒有其他test
afterclass(執行完畢)
在test中斷言(給該測試斷定乙個結果),
如果結果與斷言不同,則提示該測試不通過;
junit 常用斷言(assert.):
assertequals(a,b) 斷言a=b
assertnull/assertnotnull(a)斷言a為空/非空
asserttrue/assertfalse(a>5) 斷言a>5為真/假
JSP內建物件
jsp內建物件對映表 下面是各個物件介紹 request 物件代表的是來自客戶端的請求,例如我們在form表單中填寫的資訊等,是最常用的物件。關於它的方法使用較多的是getparameter getparameternames和getparametervalues,通過呼叫這幾個方法來獲取請求物件中...
jsp內建物件
request 使用者端請求,此請求會包含來自 get post 請求的引數 response 網頁傳回使用者端的回應 包含了響應客戶請求的有關資訊 pagecontext 網頁的屬性是在這裡管理 頁面上下文物件 提供了對jsp頁面內所有的物件及名字空間的訪問 session 與請求有關的會話期,主...
JSP內建物件
內建物件 不需要預告定義,在指令碼 和表示式中直接使用。一 request物件 request物件封裝了由客戶端生成的 http 請求的所有細節,主要包括 http 頭資訊 系統資訊 請求方式 和 請求引數 等。1 訪問 請求引數 getparameter 示例 在頁面中定義超連結。刪除 在dele...