標籤:http協議 username 下拉式清單 瀏覽器 問題 odi void 存在 擷取
request :
伺服器端接受用戶端以http方式傳過來的資料。
常用方法:+getParameter(String args):String ,+getParameterValues():String[], +getParameterNames():Enumeration;
request實際上是伺服器接受用戶端請求的資訊的資訊之後做進一步處理的。
1、解決亂碼的問題
hello:<%=request.getParameter("name")%>
這麼直接寫出現亂碼的問題:hello:鏁?
這個時候就要使用
public void setCharacterEncoding(String env)
throws UnsupportedEncodingException來設定同意的編碼格式。
注:這裡設定的請求編碼還要跟你JSP中編碼格式一樣才不會出現亂碼。
<%request.setCharacterEncoding("UTF-8");%>hello:<%=request.getParameter("name")%>
結果:hello:敢
2、傳遞參數:
擷取表單的一個參數:+getParameter(String args):String(隱藏的表單表單域)
String name = request.getParameter("username");
擷取表單的多個參數:+getParameterNames():Enumeration;
Enumeration<String> enume = getParameterNames();
擷取傳遞內容是數組:+getParameterValues():String[](用於下拉式清單、複選框等等)
String [] param = getParameterValues();
總結:
只要是用戶端資訊,在伺服器端都可以通過 request 對象取得
response:伺服器想用戶端發送的訊息,http的頭資訊,Cookie等等
主要使用:
重新導向response.sendDirection(loc):response.sendRedirect("firstCookie.jsp");
設定回應標頭: 使用這個來重新整理頁面,兩秒後跳轉等等。
設定cookies:response.addCookie(cookie);
總結:伺服器想用戶端發送的訊息通過response去設定。
session:http協議是無狀態的,他不知道每一次請求的瀏覽器是不是同一個瀏覽器。
使用:儲存使用者的各種資訊,直到他的生命週期逾時or被釋放。
session對象屬於javax.servlet.http.HttpSession 介面的執行個體化對象。
session的主要方法:
方法:session.getId() 擷取一個id,這個id由伺服器分配。
public boolean isNew() 是不是新的session
設定屬性:session.setsetAttribute(String name ,string value); request.getSession().setAttribute("token", tokenValue);
取得屬性: public Object getAttribute(String name) request.getSession().getAttribute("message")
刪除屬性:public Object removeAttribute(String name) session.removeAttribute("message");
session失效:
如果 session 失效,則在session 所保留的全部操作也會消失
public void invalidate():使session 失效(手工)
session的其他方法可以查看servlet API。
session跟cookie的區別:
session存在於伺服器端、cookie存在用戶端。
session比cookie跟安全,但是比cookie更加浪費空間、資源。
session 要盡量少使用—— 盡量少向session 中儲存資訊
session 使用了cookie 的機制,如果cookie 被禁用,則session 也無法使用
Application:同session一樣也是用來儲存訊息的,但是它儲存的訊息是所有人都能共用的,而session的私人的。(線上人數)
只要作用:儲存公用訊息
屬性操作的三個方法:
setAttribute()、getAttribute()、removeAttribute()
out:向JSP頁面中動態輸出一些內容。
our.print("hello:"+name);但是這個應該較少使用,可以使用hello:<%=name %>來代替。
config:處理web.xml中的配置資訊。
config的方法可以通過查看API去實現。javax.servlet.ServletConfig
取得初始化參數的方法:public String getInitParameter(String name)
取得全部參數:public Enumeration getInitParameterNames();
其他較少使用的不在說明;
JAVAWEB學習——JSP九大內建對象