精华内容
下载资源
问答
  • javaweb之统计网站访问量小案例

    千次阅读 2019-02-20 17:04:52
    javaweb之统计网站访问量小案例

    效果图

    • 主页
      在这里插入图片描述
    • 第一次访问
      在这里插入图片描述
    • 第二次访问
      在这里插入图片描述
    • 切换浏览器,数据连续累加(全局作用域,服务器不重启,数据会一直保留)

    html代码

     <h2><a href="CountServlet">点我查看网站访问量</a></h2>
    

    CountServlet代码

    package count;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class CountServlet extends HttpServlet {
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		
    		
    		int totalCount=1;//默认访问量为1
    		
    		//获取网站访问量
    		
    		Object count = request.getServletContext().getAttribute("count");
    	   //判断count是否为null,不为null表示曾经访问过,直接将count赋值给totalCount
    		if(count!=null) {
    			totalCount=(int)count;
    		}
    		
    		//访问次数累加
    		request.getServletContext().setAttribute("count",totalCount+1);
    		response.getWriter().println("网站访问量为:"+totalCount);	//输出到界面
    		
    	}
    
    }
    
    
    展开全文
  • Servlet过滤器实现统计网站访问量

    千次阅读 2016-06-25 15:04:49
    Servlet过滤器实现统计网站访问量

    CountFilter.java:

    package com.mingrisoft;



    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.annotation.WebInitParam;
    import javax.servlet.http.HttpServletRequest;


    /**
     * Servlet过滤器实现类CountFilter,通过注解的方式配置过滤器
     */
    @WebFilter(
    urlPatterns = { "/index.jsp" }, 
    initParams = { 
    @WebInitParam(name = "count", value = "5000")
    })
    public class CountFilter implements Filter {
    private int count; // 来访数量


        /**
         * 默认构造方法 
         */
        public CountFilter() { }


    /**
    * 销毁方法
    */
    public void destroy() { }


    /**
    * 过滤处理方法
    */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    count ++; // 访问数量自增
    // 将ServletRequest转换成HttpServletRequest
    HttpServletRequest req = (HttpServletRequest) request;
    // 获取ServletContext
    ServletContext context = req.getServletContext();
    context.setAttribute("count", count); // 将来访数量值放入到ServletContext中
    chain.doFilter(request, response); // 向下传递过滤器
    }


    /**
    * @see Filter#init(FilterConfig)
    */
    public void init(FilterConfig fConfig) throws ServletException {
    String param = fConfig.getInitParameter("count"); // 获取初始化参数
    count = Integer.valueOf(param); // 将字符串转换为int
    }


    }



    index.jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>主界面</title>
    </head>
    <body>
    <h2>
    欢迎光临,<br>
    您是本站的第【 
    <%=application.getAttribute("count") %>
    】位访客!
    </h2>
    </body>
    </html>

    展开全文
  • JS 精确统计网站访问量。 代码如下: /** * vlstat 浏览器统计脚本 */ var statIdName = "vlstatId"; var xmlHttp; /** * 设置cookieId */ function setCookie(c_name, value, expiredays) { var ...

    JS 精确统计网站访问量。

    代码如下:

    /**
    * vlstat 浏览器统计脚本
    */
    var statIdName = "vlstatId";
    var xmlHttp;
    /**
    * 设置cookieId
    */
    function setCookie(c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/;domain=cecb2b.com";
    }
    /**
    * 获取cookieId
    */
    function getCookie(c_name) {
    if (document.cookie.length > 0) {
    c_start = document.cookie.indexOf(c_name + "=");
    if (c_start != -1) {
    c_start = c_start + c_name.length + 1;
    c_end = document.cookie.indexOf(";", c_start);
    if (c_end == -1) {
    c_end = document.cookie.length;
    }
    return unescape(document.cookie.substring(c_start, c_end));
    }
    }
    return "";
    }
    /**
    * 获取当前时间戳
    */
    function getTimestamp() {
    var timestamp = Date.parse(new Date());
    return timestamp;
    }
    /**
    * 生成statId
    */
    function genStatId() {
    var cookieId = getTimestamp();
    cookieId = "vlstat" + "-" + cookieId + "-" + Math.round(Math.random() * 3000000000);
    return cookieId;
    }
    /**
    * 设置StatId
    */
    function setStatId() {
    var cookieId = genStatId();
    setCookie(statIdName, cookieId, 365);
    }
    /**
    * 获取StatId
    */
    function getStatId() {
    var statId = getCookie(statIdName);
    if (statId != null && statId.length > 0) {
    return statId;
    } else {
    setStatId();
    return getStatId();
    }
    }
    /**
    * 获取UA
    */
    function getUA() {
    var ua = navigator.userAgent;
    if (ua.length > 250) {
    ua = ua.substring(0, 250);
    }
    return ua;
    }
    /**
    * 获取浏览器类型
    */
    function getBrower() {
    var ua = getUA();
    if (ua.indexOf("Maxthon") != -1) {
    return "Maxthon";
    } else if (ua.indexOf("MSIE") != -1) {
    return "MSIE";
    } else if (ua.indexOf("Firefox") != -1) {
    return "Firefox";
    } else if (ua.indexOf("Chrome") != -1) {
    return "Chrome";
    } else if (ua.indexOf("Opera") != -1) {
    return "Opera";
    } else if (ua.indexOf("Safari") != -1) {
    return "Safari";
    } else {
    return "ot";
    }
    }
    /**
    * 获取浏览器语言
    */
    function getBrowerLanguage() {
    var lang = navigator.browserLanguage;
    return lang != null && lang.length > 0 ? lang : "";
    }
    /**
    * 获取操作系统
    */
    function getPlatform() {
    return navigator.platform;
    }
    /**
    * 获取页面title
    */
    function getPageTitle() {
    return document.title;
    }
    /**
    * 创建一个form
    * 
    * @return
    */
    function createSubmitForm() {
    var frm = document.createElement("form");
    document.body.appendChild(frm);
    frm.method = "POST";
    return frm;
    }
    /**
    * 为form创建一个元素
    * 
    * @param inputForm
    * @param elementName
    * @param elementValue
    * @return
    */
    function createFormElement(frmInput, elementName, elementValue) {
    var element = document.createElement("input");
    element.setAttribute("id", elementName);
    element.setAttribute("name", elementName);
    element.setAttribute("type", "hidden");
    element.setAttribute("value", elementValue);
    frmInput.appendChild(element);
    return element;
    }
    /**
    * 构造XMLHttpRequest对象
    * 
    * @return
    */
    function createXMLHttpRequest() { 
    if (window.ActiveXObject) { 
    xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); 
    } else if (window.XMLHttpRequest) { 
    xmlHttp = new XMLHttpRequest(); 
    } 
    }
    /**
    * url指定跳转页,data是要post的数据。func类似于函数指针
    * 
    * @param url
    * @param data
    * @param func
    * @return
    */
    function AjaxPost(url, data, func) {
    var httpRequest = createHttpRequest();
    if (httpRequest) {
    httpRequest.open("POST", url, true);
    httpRequest.setRequestHeader("content-length", data.length);
    httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    httpRequest.send(data);
    httpRequest.onreadystatechange = function() {
    if (httpRequest.readyState == 4) {
    try {
    if (httpRequest.status == 200) {
    if (func) {
    /**
    **调用想要的函数
    **edit by www.jbxue.com
    **/
    func(httpRequest.responseText);
    }
    }
    } catch (e) {
    alert("Error XMLHttpRequest!");
    }
    }
    }
    } else {
    alert("Error initializing XMLHttpRequest!");
    }
    }
    function vlstatInitLE(vlch, vlch1, vlch2, vlch3) {
    var p;
    var vlstatCH = vlch != null && vlch.length > 0 ? vlch : "";
    var vlstatCH1 = vlch1 != null && vlch1.length > 0 ? vlch1 : "";
    var vlstatCH2 = vlch2 != null && vlch2.length > 0 ? vlch2 : "";
    var vlstatCH3 = vlch3 != null && vlch3.length > 0 ? vlch3 : "";
    var vlstatCookieId = getStatId();
    var vlstatUA = encodeURIComponent(getUA());
    var vlstatIPAddress = document.localName;
    var vlstatREFURL = encodeURIComponent(document.referrer);
    var vlstatURL = encodeURIComponent(document.URL);
    var vlstatScreenX = screen.width;
    var vlstatScreenY = screen.height;
    var vlstatOS = getPlatform();
    var vlstatBrower = getBrower();
    var vlstatBrowerLanguage = getBrowerLanguage();
    var vlstatPageTitle = encodeURIComponent(getPageTitle());
    var vlstatAction = "index.php";
    p = "cookieId=" + vlstatCookieId + "&ua=" + vlstatUA + "&ip=" + vlstatIPAddress + "&refurl="
    + vlstatREFURL + "&url=" + vlstatURL + "&screenX=" + vlstatScreenX + "&screenY=" + vlstatScreenY
    + "&os=" + vlstatOS + "&brower=" + vlstatBrower + "&browerLang=" + vlstatBrowerLanguage
    + "&title=" + vlstatPageTitle + "&ch=" + vlstatCH + "&ch1=" + vlstatCH1 + "&ch2=" + vlstatCH2
    + "&ch3=" + vlstatCH3;
    var urlGo = vlstatAction + "?" + p;
    createXMLHttpRequest();
    xmlHttp.open('GET', urlGo);
    xmlHttp.send(null);
    }

    转载于:https://www.cnblogs.com/cfinder010/p/3176743.html

    展开全文
  • servlet实现统计网站访问量

    千次阅读 2018-12-15 01:53:28
    先看看实现后的效果: count.jsp ... protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... 访问量:[] 返回  

    先看看实现后的效果:

    count.jsp

    点击后跳转到show.jsp

    点击返回再次点击test后

    count.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>count</title>
    </head>
    <body>
    	
    	<form action="ServletCount" method="post">
    		<input type="submit" value="test">
    	</form>
    
    </body>
    </html>

    在web.xml中设置一个计数器对象

    <welcome-file-list>
        <welcome-file>counter</welcome-file>
    </welcome-file-list>

    ServletCount

    获取计数器对象并实现调用时加一操作,

    并将次数发送到show.jsp中

    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;
    
    /**
     * Servlet implementation class ServletCount
     */
    @WebServlet("/ServletCount")
    public class ServletCount extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public ServletCount() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		ServletContext context = getServletContext();        // 从ServletContext中获取计数器对象
    		Integer count = (Integer) context.getAttribute("counter");
    		if(count == null)	
    		{// 如果为空,则在ServletContext中设置一个计数器的属性
    			count = 1;
    			context.setAttribute("counter", count);
    		}
    		else
    		{
    			count++;
    			context.setAttribute("counter", count);
    		}
    		request.setAttribute("count", count);
    		request.getRequestDispatcher("show.jsp").forward(request, response);
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
    	}
    
    }
    

    show.jsp

    显示结果

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>show</title>
    </head>
    <body>
    	<h2>
    		<%
    			int count = (Integer) request.getAttribute("count");
    		%>
    		<h2>
    			访问量:[<%=count%>]
    		</h2>
    		<button onclick="window.location.href='count.jsp'">返回</button>
    </body>
    </html>

     

    展开全文
  • java统计网站访问量

    千次阅读 2014-06-11 09:54:53
    我的理解,人数统计好说,因为,可已设置监听器,让其在服务器启动的时候进行监听,然后统计登录人数,但是统计在线人数,就麻烦点了,因为大多数人都不愿意点击注销按钮,直接关闭浏览器,这样session的关闭就麻烦...
  • java如何统计网站访问量

    千次阅读 2016-03-25 15:07:54
    1、使用Lightweight J2EE ... 地址:http://smoothfoot.com/tracker/index.html 演示:http://smoothfoot.com/tracker-data 2、如果不是严格要求在后台查看统计结果,推荐使用Woopra 地址:http://www.woopra.com/...
  • 添加站点,自己搭建的博客,需要统计访问量网站(这里加入我的博客网站),然后点击统计代码进入代码页 代码页有很多样式,我的是红框的演示,纯文字统计,简洁大方,选择其他样式也可以 选择样式,复制样式...
  • js 实现统计网站访问量

    千次阅读 2014-10-16 10:48:59
    把如下代码粘贴到html中即可: var caution = false function setCookie(name, value, expires, path, domain, secure) { ...var curCookie = name + "=" + escape(value) + ... expires=" + expires.toGMTSt
  • [第三方]统计网站访问量及访问来源

    千次阅读 2019-01-08 04:19:55
    &lt;script type="text/javascript" id="clustrmaps" src="//cdn.clustrmaps.com/map_v2.js?u=QEEi&amp;d=qrVjzE_-Qo-26aJcmuyADSnDF75UCYZ9LYpHX8uiP5E"... 
  • php+mysql实现统计网站访问量(一)

    千次阅读 2019-03-01 11:36:28
    //获取总的访问人数即数据表中所有ip的数量 $sql="select count(ip) from wp_jc_count"; $result=mysqli_query($conn,$sql) or die(mysqli_connect_error()); if($row=$result->fetch_row()){ $num=$row[0]; }...
  • JS 精确统计网站访问量程序

    千次阅读 2012-01-10 10:21:43
    * vlstat 浏览器统计脚本 */ var statIdName = "vlstatId"; var xmlHttp; /** * 设置cookieId */ function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDa
  • java 统计网站访问量&在线人数

    千次阅读 2014-01-07 14:34:50
    public class SessionCounter implements HttpSessionListener, ServletRequestListener { private static Logger log = Logger.getLogger(SessionCounter.class);//日志记录 private static final String ...
  • <!-- var caution = false function setCookie(name, value, expires, path, domain, secure) { var curCookie = name + "=" + escape(value) ...document.write("您是第" + visits + "访问本专题的!") // -->
  • void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 long totalCount = 0; //总访问数 int todayCount = 0;//今天在线人数 //先从XML中取得访问数 stri
  • 统计网站页面的访问量

    千次阅读 2016-10-24 16:16:21
    最近做的《食盐行业信用管理与公共服务系统》项目,需要做一个网站文章页面的访问量功能。自己的解决方案,可能很简陋,但是解决了问题,而且我也给出了详细的过程。请大家多多支持,参与谈论。博客写这么长不容易啊...
  • 统计网站访问量

    千次阅读 2018-10-13 21:03:26
     * 统计访问量  * 1.获取/servletcontext对象  * 2.从ServletContext对象中获取名为count的对象  * 3.如果存在,访问量加1,再保存回去  * 4.如果不存在,说明第一次访问,想Servletcontext中保存名为count的...
  • java jsp实现网站访问量统计

    万次阅读 2016-04-23 14:45:48
    最近做网站的开发,需要做网站的访问量统计,以前也做过这方面的东西,不过以前做的时候是在asp下做的,而且只能实现简单的网站历史总访问量统计,且访问的数据是放在文件一个文件中的,现在在jsp下实现,个人感觉...
  • 如何实现网站访问量统计 不利用站长之家实现网站访问量统计 一行代码实现访问量统计 1. 访问...5. 然后填写需要统计访问量的网页地址再点击下一步(这里可以选择刷新计数All hit...
  • 网站访问量UV统计

    千次阅读 2019-02-27 14:22:01
    PV(page view,页面浏览) 用户每打开1个网站页面,记录1个PV。用户多次打开同一页面,PV值累计多次。主要用来衡量网站用户访问的网页数量。是评价网站流量最常用的指标之一。 UV( unique visitor,网站独立...
  • 网站访问量统计 | hexo

    万次阅读 2018-05-08 10:04:47
    这里使用的是不蒜子提供的阅读统计功能,使用的hexo主题是next。 以下是方法。 添加是否开启统计功能的配置 找到next主题的配置文件themes/next/_config.yml,找到原来的footer字段,加入一个配置,这里我们...
  • 网站用户访问量统计—Django

    千次阅读 2019-08-08 20:25:30
    最近准备弃用Django自带的admin,将个人博客网站接入hadmin后台模板,同时想要实现用户访问量统计功能。在网上查了一下具体实现方法。众说纷纭,有接入第三方的、有js实现的、有后端代码实现的,第三方的话很简单,...
  • java如何实现ip、日访问量、总访问量统计,、真实ip统计非工具实现,能不能详细一点,最好能贴代码,还有就是页面刷新不爽访问量,听说细致的访问量统计可以到页面,如何实现呢
  • 本例中用application对象属性存储访问人数,通过判断是否是一个新的会话来判断是否是一个新访问网站的用户。 int i=0; synchronized(application){ if(application.getAttribute("times")==null){ i=1; }...
  • 网站访问量统计

    千次阅读 2012-03-13 19:39:49
    我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月。因为我不太懂对数据日志的...
  • 统计网站的用户访问量的实现

    万次阅读 2018-04-01 17:52:25
    1、项目需求:一个IP一天内访问算是一次访问,统计网站的用户访问量。2、实现思想:服务器启动的时候把数据库中的访问量进行缓存,用户访问的时候进行访问量的刷新,把访问信息存到集合中进行缓存,达到一定数量的...
  • 统计网站接口访问量

    千次阅读 2015-07-08 17:32:34
    time awk '{ print $7; }' /path/to/access.log | awk -F '[?#|]' '{ print $1; }' | awk -F '/' 'BEGIN{ OFS="/"; } { print $2,$3,$4; }' > access.log;awk '{a[$1]++} END{ for(i in a){ print a[i],i;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 331,475
精华内容 132,590
关键字:

如何统计网站的访问量