您好,登錄后才能下訂單哦!
小編給大家分享一下jsp頁面實現互傳數據的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
HTTP是無狀態的協議。Web頁面本身無法向下一個頁面傳遞信息,如果需要讓下一個頁面得知該頁面中的值,除非通過服務器。因此,Web頁面保持狀態并傳遞給其它頁面,是一個重要的技術。
Web頁面之間傳遞數據,是Web程序的重要功能
在此結束2種方法來完成這件事情:
1)URL傳值;
2)表單傳值;
一、URL傳值
將頁面1中的值傳給頁面
index.jsp頁面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <% String str="318"; int number=Integer.parseInt(str); %> 該數的平方為:<%=number*number %> <hr> <a href="get_index.jsp?number=<%=number %>">到達get_index</a> </body> </html>
get_index.jsp頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'get_index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <% //獲得number String str=request.getParameter("number"); int number=Integer.parseInt(str); %> 該數字的立方為:<%=number*number*number %> <hr> </body> </html>
頁面顯示結果:
優點:
簡單性和平臺支持的多樣性(沒有瀏覽器不支持URL)。
缺點:
1)傳輸的數據只能是字符串,對數據類型具有一定的限制;
2)傳輸數據的值會在瀏覽器地址欄里面被看到,從保密的角度講,這是不安全的。特別是秘密性要求比較嚴格的數據,比如說密碼。
二、表單傳值
方法一中通過URL傳的值會被看到,為了避免這個問題,我們可以使用表單將頁面1中的變量傳給頁面2。
index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <% String str="10"; int number=Integer.parseInt(str); %> 該數的平方為:<%=number*number %> <hr> <form action="get_index.jsp" method="post"> <input type="text" name="number" value="<%=number %>"> <input type="submit" value="到達get_index"> </form> </body> </html>
get_index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'get_index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <% //獲得number String str=request.getParameter("number"); int number=Integer.parseInt(str); %> 該數字的立方為:<%=number*number*number %> <hr> </body> </html>
頁面顯示結果:
該方法順利的進行了值傳遞,并且無法看到傳遞的信息,在文本框中如果想要隱藏,將type=“text”改為type=“hidden”即可實現隱藏。
該方法的問題:
1)和URL方法類似,該方法傳輸的數據,也只能是字符串,對數據類型具有一定的限制;
2)傳輸數據的值雖然可以保證在瀏覽器地址欄里不被看到,但是在客戶端源代碼里面也會被看到,從保密的角度講,這是不安全的。對于是秘密性要求比較嚴格的數據,比如說密碼來說還是不建議用表單來進行傳輸。
以上是jsp頁面實現互傳數據的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。