最近在开发一个流量统计系统,主要有个JS文件是嵌入到要统计的页面中,这个JS文件主要是获取客户端的一些基本信息,比如屏幕大小,屏幕分辩率,当前用户正在访问的页面等。
我的JS文件如下:
- JScript code
var pcstj;pcstj='&atj='+escape(document.referrer)+'&btj='+escape(document.location)+'&ctj='+escape(navigator.userAgent'&dtj='+screen.colorDepth+'&etj='+screen.width+'*'+screen.height+'&ftj='+navigator.systemLanguage; //alert(pcstj);document.write('<img scr="images/pics.gif" border=1 width=2 heigth=2>');document.write('<img src="goStat.jsp?id=1'+pcstj+'" border=0 width=0 height=0 />');
这个JS文件经过ALERT所有的参数值是正确的。
然后我的统计系统中,有个专门接收JS传过来的参数的页面(goStat.jsp)。但是不管我怎么刷新嵌入了JS的页面,数据都没有进到数据库中来。
接收页面(goStat.jsp)的内容如下:
- Java code
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*" pageEncoding="UTF-8"%><%@ page import = "gzbd.picopcs.*" %><%Connection con = DBStat.getConn() ;Statement stmt=con.createStatement();ResultSet rs =null;String id=request.getParameter("id");String Ip=request.getRemoteAddr();String referrer = request.getParameter("atj");if (referrer==null) referrer="直接输入";else if (referrer.equals("")) referrer="直接输入";String location=request.getParameter("btj"); String UserAgent = request.getParameter("ctj");String ScreenColor= request.getParameter("dtj");String ScreenSize = request.getParameter("etj");String ScreenLanguage = request.getParameter("ftj");String sql="insert into pcs_data(pcs_VisitIP, pcs_VisitFPage, pcs_VisitPage, pcs_VisitScreenColor,pcs_VisitScreenSize, pcs_VisitLanguage"+ ") values('"+Ip+"','"+referrer+"','"+location"','"+ScreenColor+ "','"+ScreenSize"','"+ScreenLanguage+"')'";stmt.executeUpdate(sql);DBStat.closeResource(stmt, rs, con);%>
测试过DBStat连接数据库是正常的,我其它页面连接数据库并显示出来是没有问题的。
现在问题是怎么测试这个页面呢?还是要把这个页面嵌入到我的其它显示页面中去?
------解决方案--------------------
会不会是缓存·····
每次提交的链接是否是相同的?
------解决方案--------------------
其实不明白为什么不在过滤器中做额
------解决方案--------------------
------解决方案--------------------
<%
System.out.print(sql);
%>
看看sql是否正确。
------解决方案--------------------
------解决方案--------------------
你光刷新有什么用
他是个连接,你要点击这个连接,才能根据这个url访问后台的
------解决方案--------------------
------解决方案--------------------
o 吃饭了
你的访问代码木有放出来。
ajax访问会有缓存问题,就前面说的方式解决
还有好似是可以用cookie + 拦截器做