From 50325a1413f8900fa332ed0fe995378bc5fd6398 Mon Sep 17 00:00:00 2001
From: wizardforcel <562826179@qq.com>
Date: Mon, 14 Oct 2019 21:02:51 +0800
Subject: [PATCH] 2019-10-14 21:02:51
---
docs/servlet/17.md | 36 +++++++++++------------
docs/servlet/18.md | 71 +++++++++++++++++++++++-----------------------
2 files changed, 53 insertions(+), 54 deletions(-)
diff --git a/docs/servlet/17.md b/docs/servlet/17.md
index 93d16f4..d1ffa32 100644
--- a/docs/servlet/17.md
+++ b/docs/servlet/17.md
@@ -1,12 +1,12 @@
-# HttpSession 与 Servlet 中的示例
+# Servlet 中的`HttpSession`
> 原文: [https://beginnersbook.com/2013/05/http-session/](https://beginnersbook.com/2013/05/http-session/)
-`HttpSession`对象用于会话管理。会话包含特定于整个应用中的特定用户的信息。当用户第一次通过 request.getSession()获得 HttpSession 时进入网站(或在线应用)时,将为用户提供唯一 ID 以标识其会话。此唯一 ID 可以存储在 cookie 或请求参数中。
+`HttpSession`对象用于会话管理。会话包含特定于整个应用中的特定用户的信息。当用户第一次通过`request.getSession()`获得`HttpSession`时进入网站(或在线应用)时,将为用户提供唯一 ID 以标识其会话。此唯一 ID 可以存储在 cookie 或请求参数中。
-HttpSession 保持活动状态,直到它的使用时间超过部署描述符文件(web.xml)中 tag 中指定的超时值。默认超时值为 30 分钟,如果未在标记中指定值,则使用此值。这意味着当用户未访问指定的 Web 应用时间时,会话将被 servlet 容器销毁。后续请求将不再从此会话提供,servlet 容器将创建新会话。
+`HttpSession`保持活动状态,直到它的使用时间超过部署描述符文件(`web.xml`)中标签中指定的超时值。默认超时值为 30 分钟,如果未在标记中指定值,则使用此值。这意味着当用户未访问指定的 Web 应用时间时,会话将被 servlet 容器销毁。后续请求将不再从此会话提供,servlet 容器将创建新会话。
-这是您创建 HttpSession 对象的方法。
+这是您创建`HttpSession`对象的方法。
```java
protected void doPost(HttpServletRequest req,
@@ -16,7 +16,7 @@ protected void doPost(HttpServletRequest req,
}
```
-您可以使用 setAttribute()方法将用户信息存储到会话对象中,稍后在需要时可以从会话中获取此信息。这是您在会话中存储信息的方式。这里我们分别在属性名称为 uName,uemailId 和 uAge 的会话中存储用户名,emailid 和 userage。
+您可以使用`setAttribute()`方法将用户信息存储到会话对象中,稍后在需要时可以从会话中获取此信息。这是您在会话中存储信息的方式。这里我们分别在属性名称为`uName`,`uemailId`和`uAge`的会话中存储用户名,`emailid`和`userage`。
```java
session.setAttribute("uName", "ChaitanyaSingh");
@@ -24,9 +24,9 @@ session.setAttribute("uemailId", "[email protected]");
session.setAttribute("uAge", "30");
```
-第一个参数是属性名称,第二个是属性值。对于例如 uName 是属性名称,ChaitanyaSingh 是上面代码中的属性值。
+第一个参数是属性名称,第二个是属性值。对于例如`uName`是属性名称,`ChaitanyaSingh`是上面代码中的属性值。
-要从会话中获取值,我们使用 HttpSession 接口的 getAttribute()方法。这里我们使用属性名称获取属性值。
+要从会话中获取值,我们使用`HttpSession`接口的`getAttribute()`方法。这里我们使用属性名称获取属性值。
```java
String userName = (String) session.getAttribute("uName");
@@ -34,23 +34,23 @@ String userEmailId = (String) session.getAttribute("uemailId");
String userAge = (String) session.getAttribute("uAge");
```
-## HttpSession 的方法
+## `HttpSession`的方法
-**public void setAttribute(String name,Object value)**:使用名称绑定对象,并将名称/值对存储为 HttpSession 对象的属性。如果属性已存在,则此方法将替换现有属性。
+`public void setAttribute(String name,Object value)`:使用名称绑定对象,并将名称/值对存储为 HttpSession 对象的属性。如果属性已存在,则此方法将替换现有属性。
-**public Object getAttribute(String name)**:从会话对象返回参数中指定的 String 对象。如果未找到指定属性的对象,则 getAttribute()方法返回 null。
+`public Object getAttribute(String name)`:从会话对象返回参数中指定的`String`对象。如果未找到指定属性的对象,则`getAttribute()`方法返回`null`。
-**public Enumeration getAttributeNames()**:返回一个 Enumeration,其中包含作为会话对象的属性绑定的所有对象的名称。
+`public Enumeration getAttributeNames()`:返回一个`Enumeration`,其中包含作为会话对象的属性绑定的所有对象的名称。
-**public void removeAttribute(String name)**:从会话中删除给定的属性。
+`public void removeAttribute(String name)`:从会话中删除给定的属性。
-**setMaxInactiveInterval(int interval)**:以秒为单位设置会话不活动时间。这是以秒为单位的时间,指定自客户端上次收到请求后会话保持活动状态的时间。
+`setMaxInactiveInterval(int interval)`:以秒为单位设置会话不活动时间。这是以秒为单位的时间,指定自客户端上次收到请求后会话保持活动状态的时间。
有关方法的完整列表,请参阅[官方文档](https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpSession.html)。
## 会话示例
-index.html
+`index.html`
```java
```
-MyServlet1.java
+`MyServlet1.java`
```java
import java.io.*;
@@ -88,7 +88,7 @@ public class MyServlet1 extends HttpServlet {
}
```
-MyServlet2.java
+`MyServlet2.java`
```java
import java.io.*;
@@ -111,7 +111,7 @@ public class MyServlet2 extends HttpServlet {
}
```
-web.xml
+`web.xml`
```java
@@ -136,7 +136,7 @@ web.xml
**输出:**
-**第一屏:**
+**第一个界面:**
![](img/6cd6dfe925532e16af2cd98d1a4996b9.jpg)
diff --git a/docs/servlet/18.md b/docs/servlet/18.md
index d35a77c..aa419fe 100644
--- a/docs/servlet/18.md
+++ b/docs/servlet/18.md
@@ -1,37 +1,37 @@
-# Servlet 中的 Cookie 示例
+# Servlet 中的`Cookie`
> 原文: [https://beginnersbook.com/2013/05/servlet-cookies/](https://beginnersbook.com/2013/05/servlet-cookies/)
-在上一篇指南中,我介绍了 Servlet 中的[会话。在这里,我们将讨论用于会话管理的 Cookie。让我们回顾一下上一篇教程中的一些内容,以便我们可以关联会话和 cookie。当用户第一次访问 Web 应用时,servlet 容器通过调用 request.getSession()来创建新的 HttpSession 对象。为会话分配唯一的 ID。 **Servlet 容器还在 HTTP 响应的标头中设置 Cookie,其中包含 cookie 名称和唯一会话 ID 作为其值。**](https://beginnersbook.com/2013/05/http-session/)
+在上一篇指南中,我介绍了 Servlet 中的[会话](https://beginnersbook.com/2013/05/http-session/)。在这里,我们将讨论用于会话管理的`Cookie`。让我们回顾一下上一篇教程中的一些内容,以便我们可以关联会话和`cookie`。当用户第一次访问 Web 应用时,servlet 容器通过调用`request.getSession()`来创建新的`HttpSession`对象。为会话分配唯一的 ID。Servlet 容器还在 HTTP 响应的标头中设置`Cookie`,其中包含`cookie`名称和唯一会话 ID 作为其值。
-cookie 存储在用户浏览器中,客户端(用户的浏览器)将此 cookie 发送回服务器以获取所有后续请求,直到 cookie 有效。 **Servlet 容器检查 cookie 的请求标头,并从 cookie 获取会话信息,并使用服务器内存中的关联会话。**
+`cookie`存储在用户浏览器中,客户端(用户的浏览器)将此`cookie`发送回服务器以获取所有后续请求,直到`cookie`有效。Servlet 容器检查`cookie`的请求标头,并从`cookie`获取会话信息,并使用服务器内存中的关联会话。
-会话在 web.xml 中的 tag 中指定的时间内保持活动状态。如果未在 web.xml 中设置标记,则会话将保持活动状态 30 分钟。 **只要用户的浏览器正在运行**,Cookie 就会保持活动状态,一旦浏览器关闭,cookie 和相关的会话信息就会被破坏。因此,当用户再次打开浏览器并向 Web 服务器发送请求时,将创建新会话。
+会话在`web.xml`中的标签中指定的时间内保持活动状态。如果未在`web.xml`中设置标记,则会话将保持活动状态 30 分钟。 **只要用户的浏览器正在运行**,`Cookie`就会保持活动状态,一旦浏览器关闭,`cookie`和相关的会话信息就会被破坏。因此,当用户再次打开浏览器并向 Web 服务器发送请求时,将创建新会话。
-## 饼干的类型
+## `Cookie`的类型
-我们可以根据 Cookie 的到期时间对 Cookie 进行分类:
+我们可以根据`Cookie`的到期时间对`Cookie`进行分类:
-1. 会议
-2. 一贯
+1. 会话
+2. 持久
-**1)会话 Cookie:**
+**1)会话`Cookie`:**
-会话 Cookie 没有到期时间。它存在于浏览器内存中。一旦 Web 浏览器关闭,该 cookie 就会被破坏。
+会话`Cookie`没有到期时间。它存在于浏览器内存中。一旦 Web 浏览器关闭,该`cookie`就会被破坏。
-**2)持久性 Cookie:**
+**2)持久性`Cookie`:**
-与会话 Cookie 不同,它们具有到期时间,它们存储在用户硬盘中,并根据到期时间被销毁。
+与会话`Cookie`不同,它们具有到期时间,它们存储在用户硬盘中,并根据到期时间被销毁。
-## 如何将 Cookie 发送给客户
+## 如何将`Cookie`发送给客户
-以下是向客户端发送 cookie 的步骤:
+以下是向客户端发送`cookie`的步骤:
-1. 创建一个 Cookie 对象。
+1. 创建一个`Cookie`对象。
2. 设置最大年龄。
-3. 将 Cookie 放在 HTTP 响应标头中。
+3. 将`Cookie`放在 HTTP 响应标头中。
-#### 1)创建一个 Cookie 对象:
+#### 1)创建一个`Cookie`对象:
```java
Cookie c = new Cookie("userName","Chaitanya");
@@ -40,23 +40,23 @@ Cookie c = new Cookie("userName","Chaitanya");
#### 2)设置最大年龄:
-通过使用 **setMaxAge()**方法,我们可以设置特定 cookie 的最大年龄(以秒为单位)。
+通过使用`setMaxAge()`方法,我们可以设置特定`cookie`的最大年龄(以秒为单位)。
```java
c.setMaxAge(1800);
```
-#### 3)将 Cookie 放在 HTTP 响应头中:
+#### 3)将`Cookie`放在 HTTP 响应头中:
-我们可以通过`response.addCookie()`方法将 cookie 发送到客户端浏览器。
+我们可以通过`response.addCookie()`方法将`cookie`发送到客户端浏览器。
```java
response.addCookie(c);
```
-## 如何阅读 cookies
+## 如何阅读`cookie`
```java
Cookie c[]=request.getCookies();
@@ -66,9 +66,9 @@ for(int i=0;i
@@ -79,7 +79,7 @@ for(int i=0;i
@@ -184,21 +184,20 @@ public class MyServlet2 extends HttpServlet {
![](img/8a4f68e6533768d919f075ed9e2c2c12.jpg)
-## Cookie 类的方法
+## `Cookie`类的方法
-**public void setComment(String purpose)**:此方法用于在 cookie 中设置注释。这主要用于描述 cookie 的用途。
+`public void setComment(String purpose)`:此方法用于在`cookie`中设置注释。这主要用于描述`cookie`的用途。
-**public String getComment()**:返回描述此 cookie 用途的注释,如果 cookie 没有注释,则返回 null。
+`public String getComment()`:返回描述此`cookie`用途的注释,如果`cookie`没有注释,则返回`null`。
-**public void setMaxAge(int expiry)**:以秒为单位设置 cookie 的最大年龄。
+`public void setMaxAge(int expiry)`:以秒为单位设置`cookie`的最大年龄。
-**public int getMaxAge()**:获取此 Cookie 的最大年龄(以秒为单位)。
-默认情况下,返回-1,表示 cookie 将持续到浏览器关闭。
+`public int getMaxAge()`:获取此`Cookie`的最大年龄(以秒为单位)。默认情况下,返回 -1,表示`cookie`将持续到浏览器关闭。
-**public String getName()**:返回 cookie 的名称。创建后无法更改名称。
+`public String getName()`:返回`cookie`的名称。创建后无法更改名称。
-**public void setValue(String newValue)**:为此 Cookie 指定一个新值。
+`public void setValue(String newValue)`:为此`Cookie`指定一个新值。
-**public String getValue()**:获取此 Cookie 的当前值。
+`public String getValue()`:获取此`Cookie`的当前值。
-上面的列表只有常用的方法。要获得 Cookie 类的完整方法列表,请参阅[官方文档](https://docs.oracle.com/javaee/7/api/javax/servlet/http/Cookie.html)。
\ No newline at end of file
+上面的列表只有常用的方法。要获得`Cookie`类的完整方法列表,请参阅[官方文档](https://docs.oracle.com/javaee/7/api/javax/servlet/http/Cookie.html)。
\ No newline at end of file
--
GitLab