Cookie是一小段信息, 可在多个客户端请求之间保留。
Cookie具有名称, 单个值和可选属性, 例如注释, 路径和域限定符, 最长期限和版本号。
Cookie如何运作
默认情况下, 每个请求都被视为一个新请求。在cookie技术中, 我们通过来自servlet的响应添加cookie。因此, cookie存储在浏览器的缓存中。之后, 如果用户发送了请求, 则默认情况下会在请求中添加cookie。因此, 我们将用户识别为旧用户。
文章图片
index.html
<
form action="servlet1" method="post">
Name:<
input type="text" name="userName"/>
<
br/>
<
input type="submit" value="http://www.srcmini.com/go"/>
<
/form>
FirstServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class FirstServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response){
try{ response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
Cookie ck=new Cookie("uname", n);
//creating cookie object
response.addCookie(ck);
//adding cookie in the response //creating submit button
out.print("<
form action='servlet2'>
");
out.print("<
input type='submit' value='http://www.srcmini.com/go'>
");
out.print("<
/form>
");
out.close();
}catch(Exception e){System.out.println(e);
}
}
}
SecondServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SecondServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response){
try{ response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie ck[]=request.getCookies();
out.print("Hello "+ck[0].getValue());
out.close();
}catch(Exception e){System.out.println(e);
}
}
}
web.xml
<
web-app>
<
servlet>
<
servlet-name>
s1<
/servlet-name>
<
servlet-class>
FirstServlet<
/servlet-class>
<
/servlet>
<
servlet-mapping>
<
servlet-name>
s1<
/servlet-name>
<
url-pattern>
/servlet1<
/url-pattern>
<
/servlet-mapping>
<
servlet>
<
servlet-name>
s2<
/servlet-name>
<
servlet-class>
SecondServlet<
/servlet-class>
<
/servlet>
<
servlet-mapping>
<
servlet-name>
s2<
/servlet-name>
<
url-pattern>
/servlet2<
/url-pattern>
<
/servlet-mapping>
<
/web-app>
下载此示例(使用Myeclipse IDE开发)
【Servlet中的Cookie用法详解】下载此示例(使用Eclipse IDE开发)
下载此示例(使用Netbeans IDE开发)
输出
文章图片
文章图片
文章图片
推荐阅读
- 创建servlet示例的详细步骤图解
- Win10无法安装Visual Studio 2017的处理办法
- Win10系统hosts保存时提示另存为该怎样办?
- Win10运行腾讯游戏taslogin application停止工作的处理办法
- Win10如何删除电脑上的java?
- Win10系统如何完全删除打印机驱动
- win10系统如何删除vmware player?
- win10系统jqs.exe是啥进程?jqs.exe可以删除吗?
- Win10系统出错代码8024000b该怎样办修好?