1. 程式人生 > >3.3 JSP內置對象概述

3.3 JSP內置對象概述

servle 復選框 response request new 單個 ring toc byte

1.request

1.1 request獲取頁面傳來的參數,參數通過瀏覽器網址和後面添加?的方式傳達。
傳參:”show.jsp?id=001”
獲取參數:request.getParameter(“id”).

1.2 request中文亂碼問題解決:
亂碼是因為請求參數的文字編碼方式與頁面中的不一致所造成的,所有的request請求都是iso-8895-1的,而頁面的編碼不一定,所以導致中文亂碼。解決方法是:
1).在發送參數時:”*.jsp?name=<%=URLEncoder.encode(“你好”)%>&sex=<%=URLEncoder.encode(“女”)%>”
2). 在接受參數時:
name=<%=new String(request.getParameter(“name”).getBytes(“iso-8859-1”),”gbk”)%>
sex=<%=new String(request.getParameter(“sex”).getBytes(“iso-8859-1”),”gbk”)%>

1.3 獲取Form表單的信息
對於單個數據:request.getParameter();
對於多個數據: request.getParameterValues(); 例如復選框,列表框等
request.getParameterNames()獲取所有參數的名稱,返回的是Enumeration類型

1.4 獲取請求客戶端信息
getMethod,getContextPath,getProtocol,getRemoteAddr(),getRemoteHost(),getRemotePort(),getServletPath(),getRequestURL(),

1.5 在作用域中管理屬性
通過setAttribute在request對象屬性列表裏添加一個屬性,然後在request作用範圍內使用getAttribute方法將屬性值取出. 移除屬性用removeAttribute();

1.6 Cookie管理
通過response對象將cookie發送到客戶端:
Cookie myCook=new Cookie(“mrCookInfo”,”testdata”);
myCook.setMaxAge(60*60*24*365); //設置cookie有效期
response.addCookie(myCook);
通過resquest獲取cookie:
Cookie[] cook=resquest.getCookies();
if(cook!=null){
for(int i=0;i<cook.length;i++)if(cook[i].getName.equals("mrCookInfo")){
info=cook[i].getValue();
}
}

3.3 JSP內置對象概述