【JavaWeb学习,快一起呀,干!】第三章 Servlet 核心接口(3)—— 网站访问计数实现

news/2024/5/9 15:12:05/文章来源:https://blog.csdn.net/qq_41453482/article/details/102763118

开门见山的说

逸夫楼今天废了?屋漏偏逢连夜雨,道是无情却有情。凎!

ServletContext 对象一个很神奇的东西,一个 Web 应用只会有一个。

我们可以把 ServletContext 对象理解为容器内一个共享空间,可以存储具有应用级别作用域的数据。而 Web 应用中的各个组件都可以共享这些数据。举个栗子,炮姐和她的妹妹们。

这些共享数据以 key/value 的形式存储在 ServletContext 对象中,并以 key/value 的形式存储在 ServletContext 对象中,并以 key 作为属性名被访问。

ServletContext 接口存取应用域属性的方法

· setAttribute(String name, Object object) 把一个对象和属性名绑定,存放至 ServletContext 中,参数 name 指定属性名,参数 object 表示共享数据

· getAttribute(String name) 根据参数给定的属性名,返回一个 Object 类型的对象

· getAttributeNames() 返回一个 Enumeration 对象,该对象包含了所有存放在 ServletContext 中的属性名

· removeAttribute(String name) 根据参数指定的属性名,从 ServletContext 对象中删除匹配的属性

啥是作用域?

呸,应用域。

应用域两层含意:

· 一是表示由 Web 应用的生命周期构成的时间段

· 二是表示在 Web 应用范围内的可访问性

来,我们做个东西,网站访问计数

【代码】ContextAttributeServlet.java
在这里插入图片描述
【运行结果】
在这里插入图片描述
很有用的小东西。

对于存储在 ServletContext 对象中的属性 count,不同的 Servlet 都可以通过 ServletContext 对象进行修改,并且一方的修改会影响另一方获取的数据。

所以!注意!多线程访问的情况下,注意数据的同步问题!

好了,最后是代码

【ContextAttributeServlet.java】

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

  • Servlet implementation class ContextAttributeServelt

*/

@WebServlet("/ContextAttributeServelt")

public class ContextAttributeServelt extends HttpServlet {

   private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public ContextAttributeServelt() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置响应到客户端的文本类型response.setContentType("text/html;charset=UTF-8");// 获取 ServletContext 对象ServletContext context = super.getServletContext();// 从 ServletContext 对象获取 count 属性存放的计数值Integer count = (Integer)context.getAttribute("count");if (count == null) {count = 1;} else {count = count + 1;}// 将更新后的数值存储到 ServletContext 对象的 count 属性中context.setAttribute("count", count);// 获取输出流PrintWriter out  = response.getWriter();// 输出计数信息out.println("<p>本网站目前访问人数是: " + count + "</p>");}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_870716.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十大免费CMS建站系统介绍(PHP+MYSQ…

这里为需要建站但又徘徊的朋友介绍10个免费PHPMySql平台下的CMS内容管理系统&#xff0c;可能会对你的选择有指导作用。 1. Joomla! 一套在国外相当知名的内容管理系统&#xff0c;2007年开源cms第一名!Joomla!是使用PHP 语言加上MySQL数据库所开发的软件系统&#xff0c;可以…

【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

一、负载均衡&#xff1a;必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术&#xff0c;集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务&#xff0c;这些集群可以是Web应用服务器集群&#xff0c;也可以是数据库服…

博客网站终于可以上线了 www.cnopenblog.com

最近一直在忙于开发自己的博客网站&#xff0c;现在终于可以和大家见面了&#xff01;http://www.cnopenblog.com 欢迎大家访问拍砖

非常炫的网页,可以用于制作漂亮的网站!

Juqery特效模板网站&#xff1a;http://www.17sucai.com/tags/1/4/0/208 模板一 下载地址&#xff1a; http://www.17sucai.com/pins/626.html 预览地址&#xff1a; http://www.17sucai.com/pins/demoshow/626 实际网站&#xff1a; http://www.ruifox.com/ 模板二 下载地址&a…

开源jQuery插件推荐 帮你快速构建单页网站!

单页网站将成为网站设计的主要趋势之一。其将设计元素减为最少&#xff0c;将访问者关心的核心内容放在最显眼位置&#xff0c;提高了网站效率。有一些jQuery插件可大大提高单页网站的开发效率&#xff0c;如Single Page Nav、Ascensor.js等。 单一页面网站&#xff08;单一页面…

Mozilla开源TogetherJS:让网站拥有实时协作功能!

TogetherJS是一款免费开源的JavaScript库&#xff0c;开发者可以利用它给网站添加实时协作功能&#xff0c;并且内置许多功能&#xff0c;如视频、语音聊天、内容实时同步、获取用户实时焦点等。 TogetherJS是由Mozilla打造的一款可以给网站添加实时协作功能的JavaScript库&…

Squid代理服务器介绍-网站加速技术

http://os.51cto.com/art/201009/225813.htm 巧用Squid的ACL和访问列表实现高效访问控制 Squid代理服务器是一个缓存Internet数据的软件&#xff0c;可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议&#xff0c;提高用户下载页面的速度&#xff0c;并设置过滤。使用Squid可以通过访…

Squid代理服务器介绍-网站加速技术

巧用Squid的ACL和访问列表实现高效访问控制 Squid代理服务器是一个缓存Internet数据的软件&#xff0c;可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议&#xff0c;提高用户下载页面的速度&#xff0c;并设置过滤。使用Squid可以通过访问控制特性来灵活的控制用户访问时间、站点等…

李平:大型网站的灵魂——性能

在前一篇随笔 大型网站系统架构的演化中&#xff0c;介绍了大型网站的演化过程&#xff0c;期间穿插了一些技术和手段&#xff0c;我们可以从中看出一个大型网站的轮廓&#xff0c;但想要掌握设计开发维护大型网站的技术&#xff0c;需要我们一步一步去研究实践。所以我打算写一…

周末入手一台公测版M8,连夜为它改了网站,帆船书会M8版

周末入手一台公测版M8&#xff0c;用起来感觉非常好&#xff0c;我女朋友有台iPhone&#xff0c;我感觉M8跟iPhone相比各有千秋&#xff0c; 希望大家支持国货&#xff0c;相信魅族&#xff01; 我是帆船书会的站长&#xff0c;M8入手后我连夜修改帆船书会&#xff0c;改了个M8…

【docsify】为网站写一个说明文档

【docsify】为网站写一个说明文档 &#xff01;官方部署文档 全局安装 npm i docsify-cli -g初始化项目 在项目文件夹下&#xff0c;初始化 docsify init ./docs会生成三个文件 ./docs 下 index.html作为入口文件README.md作为主页.nojekyll防止 GitHub Pages 忽略以下…

Java开源建站工具

2011-08-12 09:22 | 4162次阅读 | 【已有12 条评论】发表评论 来源&#xff1a;阮一峰的网络日志 | 收藏到我的网摘 美国程序员Jon Scott Stevens&#xff0c;公布了他的创业公司所使用的开发工具清单 。 他的语言平台是Java&#xff0c;开发项目是一个网站&#xff08;还…

转:有了这些网站,英文论文再也不难写了(15个英文论文写作辅助网站介绍和使用技巧)

大家在写英文论文的时候&#xff0c;都会遇到这样一些情况&#xff1a;句子写不出来想找一个例句参考&#xff0c;想搜索一下单词的搭配和习惯用法、想核对自己写的句子是否正确等等。 下面给大家介绍的网站主要在写英文论文的时候&#xff0c;可以提供例句参考、单词搭配和用…

IIS - 自动申请、部署Let’s Encrypt的免费SSL证书(让网站实现HTTPS协议)

IIS - 自动申请、部署Let’s Encrypt的免费SSL证书&#xff08;让网站实现HTTPS协议&#xff09; 一、HTTPS 协议介绍 1&#xff0c;什么是 HTTPS 协议&#xff1f; HTTPS&#xff08;全称&#xff1a;Hyper Text Transfer Protocol over Secure Socket Layer&#xff09;&am…

React+flask 搭建网站---React 环境搭建

系统环境: mac 搭建过程: 1、安装node.js : 安装任何包时一定要取官网查看安装方法(因网络中每个人安装的环境和版本有差异,尽量安装官网指导进行安装).官网地址:https://nodejs.org/zh-cn/ 现在后,进行安装.安装完成后,进行后续操作. 2、安装React 创建应用的工具(脚…

小白学习React+flask 搭建网站-Flask 环境搭建

电脑系统: mac 安装过程如下: 1、新建文件夹用来存储需要创建的应用:(参照官网地址:http://flask.pocoo.org/docs/1.0/installation/) mkdir backend01 (backed01 是我创建的文件夹名称,这个名称可以自行定义).安装环境创建包:virtualenv virtualenv venv 2、创建环境:进…

网站开发工具、技术

前端开发 require.js 首先&#xff0c;加载的时候&#xff0c;浏览器会停止网页渲染&#xff0c;加载文件越多&#xff0c;网页失去响应的时间就会越长&#xff1b;其次&#xff0c;由于js文件之间存在依赖关系&#xff0c;因此必须严格保证加载顺序&#xff08;比如上例的1.…

网站首页抓取和收录情况分析(个人见解)

求职类网站的实效性比较重要&#xff0c;提供最新的职位信息&#xff0c;对网站和求职者都有帮助。我们网站的PR值还可以&#xff0c;但是采用的是静态首页&#xff0c;也就是更新的内容不会体现在首页上&#xff0c;那么搜索引擎对首页的蜘蛛爬行和更新都会比较慢。 下面是我们…

php+redis+python网站部署方案

1 采用原web总数据库&#xff0c;后端直接采用php。 2 采用原web总数据库&#xff0c;后端采用python/phpredis数据优化方案。 3 采用新的数据库&#xff0c;即将原有数据库拷贝&#xff0c;后端采用python/phpredis数据优化方案。 采用redis数据库可以大幅度提高查询性能。 部…

利用Python进行电商网站用户行为分析

电商网站用户行为分析 项目需求 1.用户整体购物情况怎样&#xff1f; 统计数据集中总的用户数&#xff0c;商品数&#xff0c;商品类别数&#xff0c;用户行为数。核心指标如PV&#xff0c;UV&#xff0c;跳出率&#xff0c;复购率&#xff0c;留存率等分别是多少? 2.用户…