国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP頁面間的傳值方法總結

2024-09-05 00:18:55
字體:
來源:轉載
供稿:網友

在項目中,經常需要在JSP頁面之間傳遞參數,這應該被視為一項基本的web技能,本文是錯新技術頻道小編帶給大家的JSP頁面間的傳值方法總結,希望對大家學習這方面知識有所幫助。

1. URL 鏈接后追加參數

<a href="next.jsp?paramA=A?mB=B..." rel="external nofollow" >URL 后面追加參數</a><jsp:include page="next.jsp"><jsp:param name="paramA" value="A"/></jsp:include> <jsp:forward page="next.jsp"><jsp:param name="paramA" value="B"/></jsp:forward> response.sendRedirect("next.jsp?paramA=A?mB=B...")window.location = "next.jsp?paramA=A?mB=B..."

上述幾種代碼執行時都將攜帶參數跳轉到 next.jsp 頁面中。

在 next.jsp 頁面中獲取對應參數的方式如下:

//內嵌的 java 代碼<%String paramA = request.getParameter("paramA"); %>//如果引入了 EL{param.paramA}

優點:簡單性和多瀏覽器支持(沒有瀏覽器不支持URL)。

缺點:

?? 1)傳輸的數據只能是字符串,對數據類型和大小都有一定的限制;

?? 2)傳輸數據的值會在瀏覽器地址欄里面被看到,安全性等級低。

2. Form

 <form action="next.jsp" method="post">   <input type="text" name="paramA" value="A">   <input type="hidden" name="paramB" value="B">   <input type="submit" value="提交">  </form> 

在 next.jsp 頁面中獲取對應參數的方式與 (1)是類似的。

優點:

1)簡單性和多瀏覽器支持(同樣沒有瀏覽器不支持 form);

2) 可以提交的數據量比 URL 方式要大的多;

3)傳輸的值會在瀏覽器的地址欄中顯示出來,但是有一點黑手段的同樣能從頁面源碼中將參數列表構造出來;

缺點:

1)傳輸的數據也只能是字符串,對數據類型有一定的限制;

3. 設置 Cookie

用客戶端的認證憑證小小 Cookie 當然也能實現 JSP 頁面的傳值。

 <%   Cookie c=new Cookie("paramA","A");   c.setMaxAge(60*60); //cookie 有效期1分鐘  response.addCookie(c); //將cookie 添加到 http響應中  %>

想要在 next.jsp 頁面讀取 cookie,需要調用 request.getCookies() 方法來獲得一個javax.servlet.http.Cookie 對象的數組。

然后遍歷這個數組,使用getName()方法和getValue()方法來獲取每一個cookie的名稱和值。

//內嵌的 java 代碼<% Cookie cookie = null; // 獲取cookies的數據,是一個數組 Cookie[] cookies = request.getCookies(); if(cookies != null ){  for (int i = 0; i < cookies.length; i++){   cookie = cookies[i];   out.print("參數名 : " + cookie.getName());   out.print("<br>");   out.print("參數值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");   out.print("------------------------------------<br>");  } }else{  out.println("<h2>沒有發現 Cookie</h2>"); }%>//EL 獲取方式${cookie.paramA.value}

優點:

1)Cookie 的值能夠持久化,即使客戶端機器關閉,下次打開還是可以得到里面的值;

2) Cookie 可以幫助服務器端保存多個狀態信息,但是不用服務器端專門分配存儲資源,減輕了服務器端的負擔。

缺點:

1)雖然安全性相比 URL 和 Form 要提高了許多,但是也存在黑手段獲取客戶端 cookie,暴露客戶信息。

4. 設置 Session

個人認為 session 和 cookie 一個在服務端一個在客戶端。

在它們中添加鍵值對后,不僅僅是提供了頁面之間的傳遞,其實是一種數據共享的解決方案。

 <%   session.setAttribute("paramA","A");  response.sendRedirect("next.jsp");  %>

想要在 next.jsp 讀取 session 的方法:

//內嵌java 片段<%=session.getAttribute("paramA") %>//EL 獲取方式{session.paramA}

Session 的優缺點可以參照 Cookie。

本文是錯新技術頻道小編帶給大家的JSP頁面間的傳值方法總結,感興趣的朋友不妨去操作看看,這些知識既能充實自己,也能滿足自己的學習的癮。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林芝县| 新邵县| 荔浦县| 乌兰县| 宕昌县| 杭锦后旗| 呼图壁县| 遂川县| 北辰区| 扶沟县| 建水县| 叙永县| 永寿县| 重庆市| 萝北县| 霸州市| 永昌县| 丽江市| 阜南县| 佛学| 汝南县| 五峰| 河南省| 临猗县| 泸溪县| 山阳县| 孟连| 奇台县| 行唐县| 宜黄县| 台东市| 崇明县| 杨浦区| 南通市| 凤山县| 额尔古纳市| 顺平县| 渝中区| 商水县| 贺州市| 翁源县|