Servlet会话技术基础解析

 更新时间:2017年12月18日 09:26:56   作者:在成为巨擘的路上  
这篇文章主要介绍了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会话技术基础解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • springboot使用log4j2异步日志提升性能的实现方式

    springboot使用log4j2异步日志提升性能的实现方式

    这篇文章主要介绍了springboot使用log4j2异步日志提升性能,异步日志实现方式:将日志存入一个单独的队列中,有一个单独的线程从队列中获取日志并写入磁盘文件,需要的朋友可以参考下
    2022-05-05
  • Flink ExecutionGraph生成源码解析

    Flink ExecutionGraph生成源码解析

    这篇文章主要为大家介绍了Flink ExecutionGraph生成源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • SpringBoot集成Flyway进行数据库版本迁移管理的步骤

    SpringBoot集成Flyway进行数据库版本迁移管理的步骤

    这篇文章主要介绍了SpringBoot集成Flyway进行数据库版本迁移管理的步骤,帮助大家更好的理解和学习使用SpringBoot框架,感兴趣的朋友可以了解下
    2021-03-03
  • Java中常见的XML解析方法与应用详解

    Java中常见的XML解析方法与应用详解

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,被广泛应用于表示和交换独立于应用程序和硬件平台的结构化信息,下面我们就来看看它的常见解析方法有哪些吧
    2024-01-01
  • SpringBoot+Mybatis plus实现多数据源整合的实践

    SpringBoot+Mybatis plus实现多数据源整合的实践

    本文主要介绍了SpringBoot+Mybatis plus实现多数据源整合的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 关于Java虚拟机HotSpot

    关于Java虚拟机HotSpot

    这篇文章主要介绍了关于Java虚拟机HotSpot,在Java类中的一些方法会被由C/C++编写的HotSpot虚拟机的C/C++函数调用,不过由于Java方法与C/C++函数的调用约定不同,所以并不能直接调用,需要JavaCalls::call()这个函数辅助调用,下面我们来看看文章对内容的具体介绍
    2021-11-11
  • Spring Boot 中的自动配置autoconfigure详解

    Spring Boot 中的自动配置autoconfigure详解

    这篇文章主要介绍了Spring Boot 中的自动配置autoconfigure详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • 使用dubbo+zookeeper+spring boot构建服务的方法详解

    使用dubbo+zookeeper+spring boot构建服务的方法详解

    这篇文章主要给大家介绍了关于如何使用dubbo+zookeeper+spring boot构建服务的相关资料,文中通过示例代码及图片介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-05-05
  • java利用多线程和Socket实现猜拳游戏

    java利用多线程和Socket实现猜拳游戏

    这篇文章主要为大家详细介绍了java利用多线程和Socket实现猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • java 使用poi 导入Excel数据到数据库的步骤

    java 使用poi 导入Excel数据到数据库的步骤

    这篇文章主要介绍了java 使用poi 导入Excel 数据到数据库的步骤,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12

最新评论