Servlet会话技术基础解析

所属分类: 软件编程 / java 阅读数: 14
收藏 0 赞 0 分享

一、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会话技术基础解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

更多精彩内容其他人还在看

Java数据类型的规则

这篇文章主要介绍了Java数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多