没有合适的资源?快使用搜索试试~ 我知道了~
Servlet会话管理与用户认证.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 83 浏览量
2022-06-25
10:35:48
上传
评论
收藏 4.08MB DOC 举报
温馨提示
试读
15页
Servlet会话管理与用户认证.doc
资源推荐
资源详情
资源评论
第 9 章 Servlet 高级编程 ·140·
第 9 章 Servlet 会话管理与用户认证
例 9.1 保存用户访问站点次数。(源程序 Counter.java)
import javax.servlet.*;
import javax.servlet.http.*;
public class Counter extends HttpServlet{
static final String COUNTER_KEY = "Counter.count";
public void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, java.io.IOException{
HttpSession session = req.getSession(true); // ①
resp.setContentType("text/html");
java.io.PrintWriter out = resp.getWriter();
int count = 1;
Integer i = (Integer) session.getValue(COUNTER_KEY);
if (i != null) {
count = i.intValue() + 1; // ②
}
session.putValue(COUNTER_KEY, new Integer(count));
out.println("<html><head><title>Session Counter</title></head><body>");
out.println("Your session ID is <b>" +session.getId());
out.println("</b> and you have visited this page <b>" +
count +
"</b> time(s) during this session");
out.println("<form method=GET action=\"" +req.getRequestURI() + "\">");
out.println("<input type=submit " +"value=\"Visit this page again\">");
out.println("</form>");
out.println("</body></html>");
out.flush();
}
public void init(ServletConfig cfg)
throws ServletException
{
super.init(cfg);
}
public void destroy()
·141· JAVA 编程与网络构建
{
super.destroy();
}
}
程序注释如下:
①:通过调用 HttpServletResponse 的 getSession 方法进行 HttpSession 对象的查询。如果
getSession 方法的返回值为 null,表示会话尚不存在。本例中使用 true 做 getSession 方
法的参数表示如果某会话已经不存在,就自动创建新会话。
②:设置关键字从 Session 对象中取回一个整数,整数不存在时,初始值置 1,否则每次加
1。
运行结果如图 9-1 所示:
图 9-1 Counter.java 运行结果
例 9.2 服务器端设置 Cookie。(源程序 SetCookie.java)
这个例子总共设置了 6 条 Cookie 命令,其中 3 条 Cookie 命令为用户重启浏览器时使用
的 Cookie;另外 3 条 Cookie 命令被应用于下一分钟,无论是否重启浏览器而指定所建立的
Cookie。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SetCookie extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
for(int i=0; i<3; i++) {
Cookie cookie = new Cookie("Cookie1-" + i,"Value1-" + i);
response.addCookie(cookie);……………………… // ①
第 9 章 Servlet 高级编程 ·142·
cookie = new Cookie("Cookie2-" + i,"Value2-" + i);
cookie.setMaxAge(60); // ②
response.addCookie(cookie);
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Set Cookie";
out.println
("<HTML><HEAD><TITLE>"+title+"</TITLE></HEAD>"+
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" +
"if you want to visit these Cookies,please knock at\n" +
"<A HREF=\"/examples/servlet/ShowCookie\">\n" +
"<CODE>ShowCookie</CODE> servlet</A>.\n" +
"<P>\n" +
"</BODY></HTML>");
}
}
程序注释如下:
①:在响应头中设置 Cookie,使用 HttpServletResponse 的 addCookie 方法。
②:使用 setMaxAge 指定所建立的 Cookie 被应用于下一分钟,而不论是否用户重启浏览器。
浏览器的运行结果如图 9-2 所示。
图 9-2 SetCookie.java 运行结果
例 9.3 浏览器端显示 Cookie 运行结果。(源程序: ShowCookie.java)
import java.io.*;
剩余14页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3645
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Picasso_v3.1 2.ipa
- chromedriver-mac-arm64.zip
- 蓝zapro.apk
- chromedriver-linux64.zip
- UCAS研一深度学习实验-MNIST手写数字识别python源码+详细注释(高分项目)
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- 基于SVM多特征融合的微表情识别python源码+项目说明+详细注释(高分课程设计)
- html动态爱心代码一(附源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功