Servlet会话技术的示例分析

2021/8/24 21:16:50
栏目: 其他类
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍了Servlet会话技术的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、cookie

1、设置cookie,内容为时间

Cookie cookie = new Cookie("LastAccessTime",System.currentTimeMillis()+"");
cookie.setMaxAge(1*30*24*3600);//设置有效期1个月cookie.setPath("/项目名称");//访问整个项目都带cookie

2、获得cookie信息

Cookie cookies[] = request.getCookies();for(int i = 0;cookie!=null&&i<cookies.length;i++){
  if(cookies[i].getName().equals("LastAccessTime")){
   long cookieValues = Long.parseLong(cookies[i].getVlues());//将String转化为10进制Long型   Date date = new Date(cookieValues);
   response.getWrite().print(date);
  }
}

二、session(getSession()——>session30分钟未使用)

1、设置session

HttpSession session = request.getSession();
session.setAttribute("name","哈哈哈哈");

2、得到session

HttpSession session = request.getSession();//HttpSession session = request.getSession(false);//只获取不创建String str = (String)session.getAttribute("name");

3、session配置,配置时间

<seeeion-config>  <session-timeout>20</session-timeout>  </session-config>

4、session摧毁

HttpSession session = request.getSession();
session.invalidate();//session.removeAttribute("XXX");//移除某个session

5、使用地址重写方式获得session,只有在cookie禁用下会重写

request.getSession();
String url1 = response.encodingURL("需要重写的地址1");
String url2 = response.encodingURL("需要重写的地址2");
PrintWriter out = response.getWriter;out.print("<a href = '"+url1+"'>XXXX</a>");out.print("<a href = '"+url2+"'>YYYY</a>");

三、客户端表单提交问题

1、防止提交空密码

<form action="/项目/xxx" method ="post" onsubmit="return dosubmit(this)">  用户名:<input type="text" name="username"><br/>  密码:<input type="password" name = "password"><br/>  <input type="submit" value="提交"></form><script>  function dosubmit(obj){
   if(obj.category.value==''){
    alter("请输入");
    return false;
   }  
  }</script>

2、防止重复提交

<form action="/项目/xxx" method ="post" onsubmit="return dosubmit()">  用户名:<input type="text" name="username"><br/>  密码:<input type="password" name = "password"><br/>  <input type="submit" value="提交"></form><script>  function dosubmit(){
   var iscommitted = false;
   if(!iscommitted){
    iscommitted = true;
    return true;
   }else{
    return false;  
   }
  }</script>

感谢你能够认真阅读完这篇文章,希望小编分享的“Servlet会话技术的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持辰迅云,关注辰迅云资讯频道,更多相关知识等着你来学习!


辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Spring AOP的几种实现方式总结