Java Web中介面之間傳值的實現方法
阿新 • • 發佈:2019-02-03
出處:http://blog.csdn.net/suwu150
再建立第二個頁面cookie2.jsp,,用於接收第一個頁面傳來的值,程式碼如下所示:
在web中,我們經常要在頁面之間進行值的傳遞,但是具體的該怎麼做呢??下面就讓我們來實現:
傳值時有以下幾種方式,分別如下:
1、利用URL直接進行傳值
URL傳值格式是:URL?引數名1=引數值1&引數名2=引數值2&...
例如:http://localhost:8080/project/page.jsp?m=3&n=5
表示訪問http://localhost:8080/project/page.jsp,並給其傳送引數m,其值為3,引數n,其值為5
注意不能直接是資料夾下的jsp檔案,必須帶上tomcat的本機http地址
既然送出去了,那怎麼接收,下面介紹
<%
String str_m=request.getParameter("m");
String str_n=request.getParameter("n");
%>
其中如果m和n沒有引數傳過來,則str_m和str_n為null
2、cookie進行資料傳送
對於cookie,我們直接使用例子進行分析,先建立一個cookie1.jsp頁面,用於向第二個介面傳值,程式碼如下所示:
- <%@page language="java"import="java.util.*"contentType="text/html"
- <!DOCTYPE html>
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
- <title>JSP Page</title>
- </head>
- <body>
- <%
- //定義一個變數
- String str="8";
- int number
- %>
- 該數字的平方為:<%=number*number %>
- <%
- //將str存入到cookie中
- Cookie cookie=new Cookie("number",str);
- //設定cookie的存活期為600秒
- cookie.setMaxAge(600);
- //將cookie儲存在客戶端
- response.addCookie(cookie);
- %>
- <ahref="cookie2.jsp"target="_blank">To cookie.jsp</a>
- </body>
- </html>
再建立第二個頁面cookie2.jsp,,用於接收第一個頁面傳來的值,程式碼如下所示:
- <%@page contentType="text/html"pageEncoding="UTF-8"%>
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
- <title>JSP Page</title>
- </head>
- <body>
- <%
- //從cookie中獲取number
- String str=null;
- Cookie[] cookies=request.getCookies();
- for(int i=0;i<cookies.length;i++)
- {
- if(cookies[i].getName().equals("number"))
- {
- str=cookies[i].getValue();
- break;
- }
- }
- int number=Integer.parseInt(str);
- %>
- 該數的立方為:<%=number*number*number %><HR>
- </body>
- </html>
由結果可以看出,其正確的進行了值的傳遞,當然對於資料還是不安全。。
3、利用session進行傳值
首先,我們進行建立session1.jsp頁面,用於儲存資訊,程式碼如下所示:
- <%@page language="java"import="java.util.*"contentType="text/html"pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
- <title>session1.jsp</title>
- </head>
- <body>
- <%
- ArrayList books=new ArrayList();//建立一個集合
- //向books中新增資料,即向集合中新增資訊
- books.add("三國演義");
- books.add("西遊記");
- books.add("紅樓夢");
- books.add("水滸傳");
- //將books放入session中,即將集合放入到session中,其中第一個books為session中屬性的名字,而第二個為物件本身
- session.setAttribute("books",books);
- %>
- <ahref="session2.jsp"target="_blank">檢視書籍</a>
- </body>
- </html>
- <%@page contentType="text/html"import="java.util.*"language="java"pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
- <title>session2.jsp</title>
- </head>
- <body>
- <hr>
- <%
- //從session中取出books,並使用ArrayList將Object強轉
- ArrayList books=(ArrayList)session.getAttribute("books");
- //遍歷books
- for(int i=0;i<books.size();i++)
- {
- String book=(String)books.get(i);
- out.println(book+"<br>");
- }
- %>
- <hr>
- </body>
- </html>
以上就是Java web中頁面之間值傳遞的三種方式,謝謝