读书人

如何测试从JS传过来的参数小弟我的页面

发布时间: 2012-02-01 16:58:19 作者: rapoo

怎么测试从JS传过来的参数我的页面已经正确接收并存进了数据库?
最近在开发一个流量统计系统,主要有个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访问后台的
[解决办法]
探讨

引用:
<%
System.out.print(sql);
%>
看看sql是否正确。


谢谢,通过看SQL才发现原来我有个字段名写错了

但是还有个问题,怎么在不执行goStat.jsp页面的情况下,将数据插入数据库?因为我这个goStat.jsp页面是没有内容的,只是接收参数并将参数存入数据库的

[解决办法]
o 吃饭了
你的访问代码木有放出来。

ajax访问会有缓存问题,就前面说的方式解决

还有好似是可以用cookie + 拦截器做



吃饭!
[解决办法]

探讨
引用:
<%
System.out.print(sql);
%>
看看sql是否正确。


谢谢,通过看SQL才发现原来我有个字段名写错了

但是还有个问题,怎么在不执行goStat.jsp页面的情况下,将数据插入数据库?因为我这个goStat.jsp页面是没有内容的,只是接收参数并将参数存入数据库的

[解决办法]
探讨
呵呵,我是菜鸟,不太会用servlet

[解决办法]
goStat.jsp 中的代码 就是负责执行数据库操作的,为什么不想转到这个页面呢?
这种结构还是比较正确的。即,不同功能放在不同的文件中。
你的统计页面专门负责显示,而goStat.jsp专门负责操作数据库,这样是正确的。不要把显示和数据库的代码放到一个文件中。

即使你使用servlet之类的技术,也还是要转到其它文件去操作数据库的。
即使你不转到goStat.jsp,也要转到goStat.servlet(仅简单举例,不要深究)。
不要拘泥与形式。jsp就是servlet。

读书人网 >Java Web开发

热点推荐