JSP九大內置對象(主要)
out : 輸出對象,向客戶端輸出內容
request:請求對象;存儲“客戶端向服務器發送的請求信息”
String getParameter(String name):根據請求的字段名key,返回value值;
String[] getParameterValues(String name):根據請求的字段名key,返回多個字段值value;
void setCharacterEncoding(“編碼格式utf-8”):設置Post請求編碼 (tomcat8以後默認爲utf-8)
getRequestDispatcher(“b.jsp”).forward(request, response): 服務器內部請求轉發的方式(一次請求)跳轉頁面 a->b
getServerContext():獲取項目的ServletContext對象
注意:get方式請求如果出現亂碼,解決方法:
設置(變量)編碼:new String(舊編碼,新編碼);
如:String name = request.getParameter(“uname”)
name = new String(name.getBytes(“iso-8859-1”,“utf-8”));
response:響應對象
void addCookie(Cookie cookie):服務端向客戶端增加cookie對象;
void sendRedirect(String location) throws IOException:頁面跳轉的一種方式(客戶端請求重定向(2次請求));
void setContetType(String type):設置服務端響應的編碼(設置服務端的contentTyepe類型);
Cookie(客戶端,不是內置對象 ):Cookie是有服務端生成的,在發送給客戶端保存,相當於本地緩存的作用。提高訪問服務端的效率,安全較差
Cookie: (API:Javax.servlet.http.Cookie)
服務端:準備Cookie: respose.addCookie(Cookie cookie);
頁面跳轉(轉發,重定向);
客戶端:獲取cookie: request.getCookie();
示例:使用cookie實現 記住用戶名 功能
seesion(服務端):會話
客戶端第一次請求服務端時,服務端會產生一個session對象(用於保存該客戶的信息);並且每個session對象都會有一個唯一的sessionID(用於區分其他session);服務端有會產生一個Cookie,並且該cookie的name = JSESSIONID,value=服務端sessionId的值,然後,服務端會在響應客戶端的同時,將該cookie發送給客戶端,至此,客戶端就有了一個cookie(JSESSIONID)。
因此,客戶端的cookie就可以和服務端的session一一對應(JSESSIONID-sessionID)。
第二/n次訪問,匹配成功即可。
String getId(): 獲取sessionId
boolean isNew(): 判斷是否是 新用戶(第一次訪問)
void invalidate(): 使session失效(退出登錄、註銷)
setAttribute();
getAttribute():
void setMaxInactiveInterval(秒):設置最大有效非活動時間;
int getMaxInactiveInterval():獲取最大有效時間;
application:全局對象,整個項目運行期間都有效(切換瀏覽器仍然有效)關閉服務後或其他項目 無法訪問;
String getContextPath():獲取虛擬路徑
String getRealPath(String name):獲取絕對路徑(虛擬路徑相對的絕對路徑)