web中ServletContext对象统计网页访问次数

导读:本篇文章讲解 web中ServletContext对象统计网页访问次数,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

在学习web后端的过程中 对该对象访问次数统计的思考

1、工程创建

先创建一个web工程:Dymanic Web Project :
File->new->other->Web->Dynamic Web Project
Dynamic Web Project创建页面
自定义工程名,并自选定工程存储路径,我设定的工程名为ex_4_2,结果如下:
创建好的web工程
在src中创建一个package:右键src文件夹->new->package:
自己定义一个package的名称:
我设定的package名称为servlet,结果如下图:
创建package
然后在package中创建servlet:
在new->other中搜索:
找到servlet
在创建该文件的窗口中输入对应的文件名后,生成该文件
如此servlet文件创建完成,接下来运行下方的文件内容

2、统计页面访问次数的代码内容

创建好后

package servlet;    //自定义的包
import java.io.IOException;
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;

/**
 * 说明:用于 统计网站的访问次数
 */
@WebServlet("/visit_counter")
public class visit_counter extends HttpServlet {
	private static final long serialVersionUID = 1L;
     
    public visit_counter() {
        super();
        // TODO Auto-generated constructor stub
    }
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		System.out.println("doGet()函数的使用");

		ServletContext context = this.getServletContext();
		//从context中获取count,并且自增加一
		//取出servletContext对象中的变量count
		Integer count = (Integer) context.getAttribute("count");
		
		if(count == null)
			count = 1;
		else
			count++;
		//覆盖之前count的值
		context.setAttribute("count", count);
		//将count的值显示到页面上
		response.setContentType("text/html;charset=UTF-8");
		response.getWriter().write("访问次数:"+count);
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}
}

右击该java程序文件,Run As ->Run on Server
在服务器上运行
运行servlet文件

运行成功后:
运行成功
刷新该页面:
每刷新一次,访问次数就会加1
每刷新一次,访问次数就会加1

关闭本地的服务器:重新启动该程序
右键服务器
右键服务器,可关闭当前的服务器,再次操作进行启动服务器,
访问次数再次从1开始记
访问次数再次从1开始记

说明这个ServletContext对象是作为服务器上临时生成的一个对象,在关闭服务器后,并未保存到数据库,若想某个参数一直保持变化最好是将其保存到数据库中避免数据丢失

自己对一个web工程的目录理解:

对一个Dynamic web Project工程的解释,一般servlet(java文件)存储在src文件夹下,在现实中是存储在云服务器上的,而WebContent目录下一般存储jsp文件及与网页文件html后缀的文件有相似之处

附:要实现通过jsp文件跳转到servlet文件,执行相关操作后,再通过servlet文件跳转至相应的jsp文件(即客户端网页向服务器发送请求,服务器响应它的请求,返回信息给客户端的过程)需注意url的指定,404错误多数是因为指定url不正确的原因,而导致找不到文件。

附录:参考文献

这篇文章的作者把打码内容给直接粘贴了出来,有一定基础的能够看懂,但是对于部分初学者来说可能不知道是如何构建的,代码的编写过程有参考他的部分内容
https://blog.csdn.net/Tommy5553/article/details/85237082

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114597.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!