1. 程式人生 > >9.Java web—JSP內置對象

9.Java web—JSP內置對象

exception string lin like rem server 有效期 所有 port

容器內置了9大對象,這些對象在jsp頁無需實例化,可以直接使用。

分別為request、 response 、session、 application 、out、 pageContext 、config 、page、 exception

1)request對象

request封裝了由客戶端請求的http所有細節,包括HTTP頭信息,系統信息,請求方式,請求參數

request.getParameter("參數name"); //獲取請求的url參數。不存在此參數返回null,存在參數但沒有值返回””。

在作用域管理屬性:

當使用<jsp:forward>請求轉發時,可為後面的頁面傳參數。

request.setAttribute(String name,Object obj);//當前頁寫入值

request.getAtrribute(String name);//目標頁獲取到值 ,值為Object,需要轉換;有可能name不存在,最好需要判斷一下

cookie讀與取

java裏面不能通過已知cookie名稱直接獲取其值,要循環所有cookies來判斷方式獲取

//寫入cooke,如果有中文,要使用URLEncoder.encode()編碼
 Cookie ck=new Cookie("UserInfo", URLEncoder.encode("我是值","utf-8")); 
 ck.setMaxAge(60*60*24*30);//有效期為30天 
 response.addCookie(ck);//給客戶端寫cookie

取cookie

 String result="";
		Cookie[] cks = request.getCookies();
		if (cks != null) {
			for (Cookie ck : cks) {
				//有中文要使用URLDecoder.decode()來解碼
				result+="名稱:"+ck.getName()+"  值為:" + URLDecoder.decode(ck.getValue(),"utf-8");
			}
		}

其他請求

<body>
	<br />客戶提交信息的方式equest.getMethod():<%=request.getMethod()%>
	<br />使用的協議request.getProtocol():<%=request.getProtocol()%>
	<br />獲取發出請求字符串的客戶端地址request.getRequestURI():<%=request.getRequestURI()%>
	<br />獲取發出請求字符串的客戶端地址request.getRequestURL():<%=request.getRequestURL()%>
	<br />獲取提交數據的客戶端IP地址request.getRemoteAddr():<%=request.getRemoteAddr()%>
	<br />獲取服務器端口號request.getServerPort():<%=request.getServerPort()%>
	<br />獲取服務器名稱request.getServerName():<%=request.getServerName()%>
	<br />獲取客戶端主機名request.getRemoteHost():<%=request.getRemoteHost()%>
	<br />獲取客戶端所請求的腳本文件的文件路徑request.getServletPath():<%=request.getServletPath()%>
	<br />獲取Http協議定義的文件頭信息HOST值request.getHeader("host"):<%=request.getHeader("host")%>
	<br />獲取Http協議定義的文件頭信息User-Agent值request.getHeader("user-agent"):<%=request.getHeader("user-agent")%>
	<br />獲取Http協議定義的文件頭信息accept-language值request.getHeader("accept-language"):<%=request.getHeader("accept-language")%>
	<br />獲取請求文件的絕對路徑request.getRealPath("index.jsp"):<%=request.getRealPath("index.jsp")%>
</body>

結果為:

客戶提交信息的方式equest.getMethod():GET
使用的協議request.getProtocol():HTTP/1.1
獲取發出請求字符串的客戶端地址request.getRequestURI():/crm/index.jsp
獲取發出請求字符串的客戶端地址request.getRequestURL():http://localhost:8080/crm/index.jsp
獲取提交數據的客戶端IP地址request.getRemoteAddr():0:0:0:0:0:0:0:1
獲取服務器端口號request.getServerPort():8080
獲取服務器名稱request.getServerName():localhost
獲取客戶端主機名request.getRemoteHost():0:0:0:0:0:0:0:1
獲取客戶端所請求的腳本文件的文件路徑request.getServletPath():/index.jsp
獲取Http協議定義的文件頭信息HOST值request.getHeader("host"):localhost:8080
獲取Http協議定義的文件頭信息User-Agent值request.getHeader("user-agent"):Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
獲取Http協議定義的文件頭信息accept-language值request.getHeader("accept-language"):zh-CN,zh;q=0.9
獲取請求文件的絕對路徑request.getRealPath("index.jsp"):E:\study\java\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\crm\index.jsp

獲取客戶的國際化信息:

Locale locale=request.getLocale();
if(locale.equals(Locale.CHINA)){
	//當前客戶端環境為中文
}

頂替

頂替

枯頂替

頂替

9.Java web—JSP內置對象