- 浏览: 590820 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (214)
- javaweb学习 (20)
- 算法 (7)
- oracle数据库 (18)
- PHP学习 (3)
- mysql数据库 (8)
- css (9)
- ajax (2)
- it生活 (1)
- 数据结构 (2)
- jsp (1)
- 设计模式 (3)
- struts1 (0)
- struts2 (0)
- spring (6)
- hibernate (2)
- tomcat (2)
- xml (0)
- javascript (16)
- java基础 (19)
- ASP.基础 (1)
- 非技术 (8)
- 女人的反常行为,女人爱哭,鲜花,爱,男人,电话,闺蜜,恋爱 (1)
- 计算机 (4)
- 互联网新闻 (1)
- 面试题 (1)
- c++ (1)
- 浏览器 (1)
- MyEclipse (0)
- 关系数据库 (1)
- 开发工具 (2)
- HTTP协议 (2)
- oracle性能优化 (1)
- java性能优化 (1)
- android (0)
- jquery (2)
- jdbc (2)
- 计算机系统 (1)
- linux (22)
- 网络安全 (1)
- java架构 (2)
- 软件工具 (1)
- nginx (4)
- chrome (1)
- SVN (1)
- jetty (1)
- 研发管理 (4)
- hadoop (3)
- eclipse (2)
- JSON (3)
- mysql (14)
- restful (1)
- vbox (1)
- maven (3)
- netty (1)
- Web前端 (1)
- HTML (1)
- 设计 (1)
- Redis (1)
- cassandra (1)
最新评论
-
itlang01:
推荐mybatis插件https://github.com/y ...
mysql设置修改时间,更新记录当前时间 -
longen2011:
客户端可以发送包含“Content-Encoding: gzi ...
HTTP消息头详细介绍 -
Tiro_Li:
很抱歉你指出了我博文中的错误,这个问题是由于maven-ar ...
mvn构建web项目异常处理 -
chen_lian:
似乎有点问题的是如果 输入 000009能够验证通过
js验证输入的值是否钱数 -
nicegege:
起来Rails的一个五颜六色的羽毛帽,现在是在地面上。 Twi ...
oracle数据库导出命令EXP
- 在JavaWeb中使用HttpSession(以下简称session)对象来表示一个会话。
- Session的创建(代表会话周期的开始):第一次调用request.getSession()方法时,会创建一个session对象。
- Session的销毁(代表会话周期的结束):在某个请求周期内调用了Session.invalidate()方法,此请求周期结束后,session被销毁;或者是session超时后自动销毁。
- 对于JSP,如果指定了<%@ page session="false"%>,则在JSP中无法直接访问内置的session变量,同时也不会主动创建session,因为此时JSP未自动执行request.getSession()操作获取session。
- 在session对象刚创建的第一个请求周期内,调用session.isNew()方法将得到true。
- 可以在web.xml文件中配置session默认的超时时间(分钟):<session-config>
<session-timeout>10</session-timeout>
</session-config>
SessionListener
- 通过SessionListenr可以监听session的创建和销毁,步骤:
1.写一个类MySessionListener,实现javax.servlet.http.HttpSessionListener接口及其sessionCreated()、sessionDestroyed()方法
2.在web.xml中配置SessionListener:<listener>
<listener-class>MySessionListener类全名</listener-class>
</listener> - 当session 被创建和销毁时,容器会分别调用SessionListener的sessionCreated()方法和sessionDestroyed()方法,这两个方法中传入了一个参数对象HttpSessionEvent,可以通过此对象的getSession()方法获取session对象。
应用:在线人数统计
import java.util.HashSet;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class MySessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
// 在application范围由一个HashSet集保存所有的session
HashSet sessions = (HashSet) application.getAttribute("sessions");
if (sessions == null) {
sessions = new HashSet();
application.setAttribute("sessions", sessions);
}
// 新创建的session均添加到HashSet集中
sessions.add(session);
// 可以在别处从application范围中取出sessions集合
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class MySessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
// 在application范围由一个HashSet集保存所有的session
HashSet sessions = (HashSet) application.getAttribute("sessions");
if (sessions == null) {
sessions = new HashSet();
application.setAttribute("sessions", sessions);
}
// 新创建的session均添加到HashSet集中
sessions.add(session);
// 可以在别处从application范围中取出sessions集合
// 然后使用sessions.size()获取当前活动的session数,即为“在线人数”
}
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
HashSet sessions = (HashSet) application.getAttribute("sessions");
// 销毁的session均从HashSet集中移除
sessions.remove(session);
}
}
}
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
ServletContext application = session.getServletContext();
HashSet sessions = (HashSet) application.getAttribute("sessions");
// 销毁的session均从HashSet集中移除
sessions.remove(session);
}
}
此文转自新浪博客 闪出光芒 JavaWeb中的Session http://blog.sina.com.cn/s/blog_56e2f4250100dpb3.html
发表评论
-
POI-JAVA读取excel生成word表格文档
2019-06-17 20:41 979平时,使用POI操作Excel,但是很少操作WORD。今天 ... -
maven依赖文件导出指定目录
2017-11-06 01:30 795命令: mvn dependency:copy-depen ... -
研发中总结的经验
2017-07-20 18:20 7371.和别人对接时,定义好接口规范,统一的请求和响应规范。后 ... -
java读取远程文件
2015-07-14 11:10 9073java读取本地文件大家都不陌生,而且实现也相对轻松。ja ... -
tomcat加载jar包顺序
2015-07-14 10:13 3638概述:项目使用springMVC,serviceImpl注 ... -
一次印象深刻的java面试
2015-03-08 01:46 15931.String、StringBuffer、StringB ... -
jxls实现Excel文件导出
2014-09-16 17:14 1916package net.chinaedu.projects. ... -
介绍hibernate的缓存机制以及用法
2012-10-22 10:20 891Hibernate缓存的作用: ... -
网站访问量高峰期数据库断连接
2012-10-09 11:26 11051.今天发现发布部署的网站多点击某一个连接的时候,会报错,我倍 ... -
IE网页导出word和excel
2012-05-30 09:31 3330function exportAsWord() { va ... -
什么是MIME
2011-11-23 17:24 1111什么是MIME类型-在把输出结果传送到浏览器上的 ... -
Java object类型转换为int类型
2011-10-20 11:30 38761在struts1的action类中设置了String类型的变量 ... -
jsp中不让&显示为&的方式
2011-08-03 17:10 3462今天在网页中从服务其中获取的属性值包含大量的&a ... -
普元EOS平台中获取登陆用户可以启动的流程信息的运算逻辑构件有些问题,结果不正确
2011-07-22 10:22 4357调用EOS构建包com.primeton.eos.wf.biz ... -
功能强大的this
2011-07-14 13:24 0javascript中的this表示调用方法的当前对象,如果在 ... -
2种方式制作细表格
2011-07-14 10:00 10421.设置表格边框为0,单元格间距为1px,表格背景颜色为黑色, ... -
有没有什么方法把EOS的pra文件转换成prg文件
2011-05-31 11:18 1264请大家帮个忙,集思广议能不能有什么好方法,解决了这个问题。。。 ... -
项目管理框架
2011-04-11 17:28 12261.什么是项目? 项目是为了创造某一独特的产品或服务,特定的 ... -
Web项目没有web.xml配置文件
2011-04-06 16:45 2275:网上下的OA系统,在tomcat5.5中部署项目,jsp文 ... -
URL参数中汉字转换为16进制Unicode形式
2011-04-06 13:06 5881导入JAR包: import java.net.*; 把汉字 ...
相关推荐
在JavaWeb开发中,Session机制被广泛用于实现用户会话状态的跟踪。Session与Cookie有着紧密的联系,但它们各自承担着不同的角色。为了更好地理解这两者之间的关系以及Session的工作原理,我们需要先了解一些基本概念...
【标题】"jsp JavaWeb 7个案例"涵盖了在JavaWeb开发中常见的实践场景,主要以JSP(JavaServer Pages)技术为核心,结合其他相关工具和技术进行应用开发。在这个项目中,开发者可以学习到如何利用JSP来创建动态网页,...
在这个基于JavaWeb、JSP(JavaServer Pages)和Servlet的图书管理系统中,我们可以深入探讨以下几个关键知识点: 1. **Servlet基础** Servlet是Java EE中的核心组件之一,用于处理HTTP请求。在图书管理系统中,...
4. **用户信息展示**:在`success.jsp`页面上判断用户是否已登录(即检查Session中是否有用户信息),如果没有,则显示登录链接;如果有,则显示用户昵称。 5. **验证码实现**:为了增加安全性,可以通过`...
- 要获取Session中的数据,使用`Object value = session.getAttribute("key");`。 - 如果不再需要Session,应调用`session.invalidate();`注销Session,释放服务器资源。 **1.2 Session的生命周期与管理** - ...
在usercheck.jsp中进行验证,成功则显示index.jsp(在index.jsp中要检查session.getAttribute("user")是否为空), 失败则重定向到usercheck.jsp。 2、使用JSP中的session对象,模拟用户登陆。 (1)在7-5index.jsp...
JSP还提供了其他内建对象,如`response`用于设置响应,`session`用于管理用户会话,`application`则与整个应用相关。 在JSP中处理数据请求后,通常需要将数据保存到数据库。这涉及到了数据库连接操作。JavaWeb项目...
- **<jsp:useBean>** 用来实例化或查找Java Bean,并将其绑定到JSP页面的域中。 - **<jsp:setProperty>** 设置Java Bean的属性值。 - **<jsp:getProperty>** 获取Java Bean的属性值。 - **<jsp:forward>** 将...
Java Webs实验:session购物车实验 1.按课程讲解实现购物车的三个页面,实现在三个页面切换,点击增加购物车,查看购物车,删除购物车功能 2.修改三个页面的内容,将逐个商品增加购物车和删除购物车改为多选增加删除...
在JavaWeb开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而内置对象是JSP为我们提供的便利工具,无需显式实例化即可直接使用。本作业的主题是使用JSP内置对象`session`来实现一个简单的购物车功能...
6. 服务器创建一个新的Session,将用户的登录状态(如用户ID)存储在Session中,并将Session ID返回给浏览器。 7. 浏览器保存Session ID,并在后续的所有请求中携带。 8. 服务器通过Session ID找到相应的Session数据...
在JavaWeb开发中,JSP(JavaServer Pages)和Servlet是两种重要的技术,它们常用于构建动态网页应用程序。本教程将深入讲解如何使用JSP和Servlet实现用户登录功能,这涵盖了HTTP请求处理、数据传递以及页面跳转等...
在JavaWeb开发中,JSP的主要特点包括: 1. **模板和脚本元素**:JSP页面可以包含HTML或XML模板,以及嵌入的Java代码片段(脚本元素)。这些脚本元素可以是声明(declarations)、脚本(scriptlets)、表达式...
【基于JSP的JavaWeb学生管理系统】是一种使用JavaServer Pages(JSP)技术构建的Web应用程序,用于管理和处理学生信息。这种系统通常包括学生的基本信息管理、成绩管理、课程管理等多个模块,旨在提高教育机构对学生...
在本项目中,"javaweb课程设计"是围绕Servlet和JSP技术构建的一个在线购物商城系统。这个系统旨在让学生或开发者了解如何在实际场景中应用Java Web开发技术,实现一个功能完备的电子商务平台。以下是关于这个项目所...
通过在Session中存储购物车对象,可以确保用户在浏览过程中,购物车内的商品信息不会丢失。 5. **Ajax异步通信** 为了提供更好的用户体验,购物车的更新通常采用Ajax技术,使得用户在不刷新整个页面的情况下,就能...
在这个"JavaWeb_jsp分页技术实例"中,我们将深入探讨如何在JavaWeb应用中实现分页功能,特别是使用JSP(JavaServer Pages)进行开发。 分页通常涉及到两个主要部分:前端展示和后端处理。前端负责展示当前页的数据...
JavaWebServlet JavaWeb 是基于 Java 语言的 Web 应用程序开发技术,Servlet 是 ...在 JavaWeb 应用程序中,Servlet、JSP、EL 表达式、Cookie 和 Session 是紧密相关的技术,共同组成了 JavaWeb 应用程序的核心组件。