zoukankan      html  css  js  c++  java
  • Servlet Session MVC模式

    一   什么是Session

    当首次使用session时,服务器端要创建session,session是保存在服务器端,而给客户端的session的id(一个cookie中保存了sessionId)。客户端带走的是sessionId,而数据是保存在session中。

    当客户端再次访问服务器时,在请求中会带上sessionId,而服务器会通过sessionId找到对应的session,而无需再创建新的session。

    二 session与浏览器

    session保存在服务器,而sessionId通过Cookie发送给客户端,但这个Cookie的生命不-1,即只在浏览器内存中存在,也就是说如果用户关闭了浏览器,那么这个Cookie就丢失了。

    当用户再次打开浏览器访问服务器时,就不会有sessionId发送给服务器,那么服务器会认为你没有session,所以服务器会创建一个session,并在响应中把sessionId中到Cookie中发送给客户端。     

    那原来的session对象会怎样?当一个session长时间没人使用的话,服务器会把session删除了,这个时长在Tomcat中配置是30分钟,可以在${CATALANA}/conf/web.xml找到这个配置,当然也可以在自己的web.xml中覆盖这个配置

    <session-config>
    
            <session-timeout>30</session-timeout>
    
        </session-config>

    三  Servlet中如何使用Session

    如何获得session对象?
    HttpSession s = request.getSession(boolean flag);


     P.S.

    HttpSession是一个接口。
        a.当flag为true时,先查看请求当中有没有sessionId,如果没有,就会 创建一个session对象。如果有sessionId,就会依据sessionId去查找  对应的session对象,如果找到了就返回该对象,找不到则会创建一个 新的session对象。
        b.当flag为false时,先查看请求当中有没有sessionId,如果没有,返回null。如果有sessionId,就会依据sessionId去查找对应的session对象,如果找到了就返回该对象,找不到,返回null。

    四 MVC模式(Servlet+JSP+JavaBean开发模式)

    分层架构:

    分层架构的代码按照【域模型层(domain)】→【数据访问层(dao、dao.impl)】→【业务处理层(service、service.impl)】→【表现层(web.controller、web.UI、web.filter、web.listener)】→【工具类(util)】→【测试类(junit.test)】的顺序进行编写

  • 相关阅读:
    07-JSP
    06-ServletContext和ServletConfig
    05-请求转发和重定向Login
    04-session学习
    03-cookie学习
    02-servlet生命周期和doget()_dopost()方法
    01-request和respone学习
    05-jQuery案例
    04-jQuery的事件机制和动画效果
    03-jQuery操作元素
  • 原文地址:https://www.cnblogs.com/zyddd915/p/12901226.html
Copyright © 2011-2022 走看看