cookie的使用方法以及注意事項
首先介紹cookie的一些方法
response.addCookie(Cookie cookie)是將一個cookie物件傳入客戶端。
Cookie cookie=new Cookie(String name,String value):構造一個cookie物件
request.getCookies():得到所有的cookie物件
cookie.getName():得到此cookie物件的名字
cookie.getValue(String name):得到對應名稱的cookie的值
其次我來說一些注意事項:
1.在使用cookie的時候,首先要注意瀏覽器是否支援cookie,可以用過設定瀏覽器,使其支援使用cookie
2.如果要使cookie儲存中文的資訊,需要使用java.net.URLEncoder類的encode方法進行編碼,需要使用java.net.URLDecoder的decode方法進行解碼,下面案例中會使用到。
這種方法和String類的編碼和解碼類似,String的編碼方法是byte[] b=str.getBytes();//這是使用本地預設的編碼格式進行編碼,或者是byte[] b=str.getBytes("utf-8");//這種是以utf-8的方式進行解碼,也可以使用其他的型別。我們要用同一種編碼格式進行解碼和編碼,不然有可能會出現亂碼問題,這種編碼和解碼的方式也可以解決get方式亂碼問題。
最後,我們進行例項演示
這是我的檔案目錄
index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.net.URLDecoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>取出Cookie</title>
</head>
<body>
<%! String name=""; %>
<%
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(Cookie c:cookies){
if(c.getName().equals("name")){
name=URLDecoder.decode(c.getValue(),"utf-8");//對字串進行解碼,類似於字串的解碼
}
}
}
%>
<form name="form" action="deal.jsp" method="post">
<%
if("".equals(name)){
%>
<strong>歡迎初次登入</strong>
<%
}else{
%>
<strong>歡迎再次登入,已儲存上次登入使用者名稱</strong>
<%} %><br>
請輸入姓名:<input type="text" name="name" value="<%=name%>">
<input type="submit" value="提交">
</form>
</body>
</html>
deal.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.net.URLEncoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>儲存Cookie</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");//對request傳過來的引數設定編碼格式,以免傳入中文的時候出現問題,必須在request.getParameter之前設定
String name=URLEncoder.encode(request.getParameter("name"),"utf-8");//對字串以utf8的格式進行編碼
Cookie cookie=new Cookie("name",name);
response.addCookie(cookie);
%>
<script type="text/javascript">window.location.href="index.jsp"</script><!-- js中實現頁面的跳轉 -->
</body>
</html>
執行結果:
剛開始的介面,我們下面輸入“張三”
這是執行成功後的結果。
相關文章
- JavaScript 中 this 的工作原理以及注意事項JavaScript
- JavaScript中this的工作原理以及注意事項JavaScript
- React生命週期以及注意事項React
- WebView與JS的互動,以及注意事項WebViewJS
- Mysql索引以及使用索引注意事項MySql索引
- PureComponent 使用注意事項以及原始碼解析原始碼
- nodejs的express-session模組之cookie.secure選項使用注意事項NodeJSExpressSessionCookie
- Xlistview的注意事項View
- RandomAccessFile注意事項randomMac
- nginx 注意事項Nginx
- @Lombok注意事項Lombok
- iOS開發中整合FFmpeg以及相關注意事項iOS
- web移動開發技能圖譜以及注意事項Web移動開發
- 換工作的注意事項
- Shrink操作的注意事項
- Oracle使用*的注意事項Oracle
- 幾種簡潔建立執行緒的方式以及使用注意事項執行緒
- Linux中單引號和雙引號的使用方法及注意事項!Linux
- 快取注意事項快取
- 使用parallel注意事項Parallel
- 字串分割注意事項字串
- 函式注意事項函式
- DUPLICATE DATABASE 注意事項Database
- bootstrap引用注意事項boot
- ovm搭建注意事項
- 生產注意事項
- 電量注意事項
- CSP 考前注意事項
- C++ queue的注意事項C++
- SQL 語句的注意事項SQL
- java equals()方法的注意事項Java
- oracle 轉pg 的注意事項Oracle
- iterator的romove方法的注意事項
- MySQL 8.0.20 MGR資料遷移過程以及注意事項MySql
- 非分割槽錶轉換成分割槽表以及注意事項
- Mysql資料庫自定義函式的定義、使用方法及操作注意事項MySql資料庫函式
- vite構建專案步驟以及所遇到的坑,要注意的事項Vite
- 伺服器配置的注意事項伺服器