怎么测试从JS传过来的参数我的页面已经正确接收并存进了数据库?

joanagle 2011-10-11 10:16:42
最近在开发一个流量统计系统,主要有个JS文件是嵌入到要统计的页面中,这个JS文件主要是获取客户端的一些基本信息,比如屏幕大小,屏幕分辩率,当前用户正在访问的页面等。
我的JS文件如下:

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)的内容如下:
<%@ 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连接数据库是正常的,我其它页面连接数据库并显示出来是没有问题的。

现在问题是怎么测试这个页面呢?还是要把这个页面嵌入到我的其它显示页面中去?

...全文
293 18 打赏 收藏 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
joanagle 2011-11-02
  • 打赏
  • 举报
回复
我的问题已经解决了,谢谢大家的热心回答!
joanagle 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wolf863292 的回复:]
goStat.jsp 中的代码 就是负责执行数据库操作的,为什么不想转到这个页面呢?
这种结构还是比较正确的。即,不同功能放在不同的文件中。
你的统计页面专门负责显示,而goStat.jsp专门负责操作数据库,这样是正确的。不要把显示和数据库的代码放到一个文件中。

即使你使用servlet之类的技术,也还是要转到其它文件去操作数据库的。
即使你不转到goStat.jsp,也要转到goS……
[/Quote]
谢谢
CloudX2019 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 joanagle 的回复:]

我的问题已经解决了,谢谢大家的热心回答!
[/Quote]
记得结贴,LZ
wolf863292 2011-10-12
  • 打赏
  • 举报
回复
goStat.jsp 中的代码 就是负责执行数据库操作的,为什么不想转到这个页面呢?
这种结构还是比较正确的。即,不同功能放在不同的文件中。
你的统计页面专门负责显示,而goStat.jsp专门负责操作数据库,这样是正确的。不要把显示和数据库的代码放到一个文件中。

即使你使用servlet之类的技术,也还是要转到其它文件去操作数据库的。
即使你不转到goStat.jsp,也要转到goStat.servlet(仅简单举例,不要深究)。
不要拘泥与形式。jsp就是servlet。
CloudX2019 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 joanagle 的回复:]
呵呵,我是菜鸟,不太会用servlet
[/Quote]

悲催..
CloudX2019 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 joanagle 的回复:]
引用 5 楼 wolf863292 的回复:
<%
System.out.print(sql);
%>
看看sql是否正确。


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

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

用servlet不行么?一定要用jsp啊...
chen_yunxing2011 2011-10-11
  • 打赏
  • 举报
回复
o 吃饭了
你的访问代码木有放出来。

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

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

吃饭!
chen_yunxing2011 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 joanagle 的回复:]

引用 5 楼 wolf863292 的回复:
<%
System.out.print(sql);
%>
看看sql是否正确。


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

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

你之前是用什么访问goStat.jsp的呢?
joanagle 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wolf863292 的回复:]
<%
System.out.print(sql);
%>
看看sql是否正确。
[/Quote]

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

但是还有个问题,怎么在不执行goStat.jsp页面的情况下,将数据插入数据库?因为我这个goStat.jsp页面是没有内容的,只是接收参数并将参数存入数据库的
淡定的峰哥 2011-10-11
  • 打赏
  • 举报
回复
你光刷新有什么用
他是个连接,你要点击这个连接,才能根据这个url访问后台的
chen_yunxing2011 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 joanagle 的回复:]

引用 3 楼 chen_yunxing2011 的回复:
其实不明白为什么不在过滤器中做额


过滤器怎么做呢?
[/Quote]

额 你用几个那几个参数不知道在过滤器中还能否拿得到
joanagle 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chen_yunxing2011 的回复:]
其实不明白为什么不在过滤器中做额
[/Quote]

过滤器怎么做呢?
wolf863292 2011-10-11
  • 打赏
  • 举报
回复
<%
System.out.print(sql);
%>
看看sql是否正确。
chen_yunxing2011 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 joanagle 的回复:]

引用 1 楼 chen_yunxing2011 的回复:
会不会是缓存·····
每次提交的链接是否是相同的?

是相同的
[/Quote]

那带个随机参数咯
缓存机制记得也可以定制不过不知道哪里了
chen_yunxing2011 2011-10-11
  • 打赏
  • 举报
回复
其实不明白为什么不在过滤器中做额
joanagle 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chen_yunxing2011 的回复:]
会不会是缓存·····
每次提交的链接是否是相同的?
[/Quote]
是相同的
chen_yunxing2011 2011-10-11
  • 打赏
  • 举报
回复
会不会是缓存·····
每次提交的链接是否是相同的?
joanagle 2011-10-11
  • 打赏
  • 举报
回复
呵呵,我是菜鸟,不太会用servlet
数据集可视化效果见下方。 【数据集概况】 · 检测类别(中文):[火(fire)] · 训练集:2565 张 · 验证集:244 张 · 测试集:122 张 · 总计:2931 张 该数据集针对夜间道路环境中的火情检测需求,精准捕捉火源特征,为道路安全监控系统提供可靠的数据支持,具有显著的安全预警价值和实际应用意义。该数据集的训练集、验证集和测试集分别包含2565张、244张和122张图像,分布比例合理,能够有效支持模型的训练、验证和测试过程,确保模型性能的稳定性和可靠性。该数据集的标注工作严谨细致,火目标的边界框标注精准,与实际火源位置高度吻合,标注规范符合行业标准,为模型... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 58 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9537** mAP50-95 | 0.6455 Precision | 0.9156 Recall | 0.9168 train/box_loss | 1.0237 train/cls_loss | 0.5109 val/box_loss | 1.1818 val/cls_loss | 0.5480 【训练过程分析】 58 轮训练后 mAP50 达到 0.9537,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.6455,和 mAP50 差距 0.31,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9156、Recall 0.9168,精召双高,模型对火的检测能力强。 ...
可参考下方数据集可视化效果。 【数据集概况】 · 检测类别(中文):[底盘铭牌(Chassis)] · 训练集:3258 张 · 验证集:136 张 · 测试集:0 张 · 总计:3394 张 该数据集聚焦于工业制造与车辆检测场景中对汽车底盘铭牌的精准识别,涵盖多种品牌车辆(如通用、现代、日产、马自达等)在不同光照和污损条件下的铭牌图像。通过真实生产环境中的多样化样本采集,数据集有效支持了车辆身份验证、质量追溯及自动化检测系统的开发,具有显著的工程应用价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 34 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9649** mAP50-95 | 0.5292 Precision | 0.9019 Recall | 0.8783 train/box_loss | 1.2850 train/cls_loss | 0.7588 val/box_loss | 1.4612 val/cls_loss | 0.6408 【训练过程分析】 34 轮训练后 mAP50 达到 0.9649,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.5292,和 mAP50 差距 0.44,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9019、Recall 0.8783,精度高于召回,存在一定漏检。 【预测效果展示】 验证集预测效果较好,检测框基本准确覆盖底盘铭牌,置信度整体偏高。 【改建议】 1. 增强难例挖掘:在大规...
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 远程桌面管理工具 基于 MSTSC 连接 Windows 远程桌面,并对其行封装实现管理多个远程桌面配置的小工具 关键字: 效果图如下: 效果-主界面 效果-打开远程连接 1、什么是 MSTSC (Microsoft terminal services client) ? 创建与终端服务器或其他远程计算机的连接,适用于 Windows XP 及以上的 Windows 操作系统 MSTSC 还有一种说法,Microsoft Telnet Screen Control ,即“微软远程桌面控制”。 PS. 相信对本项目感兴趣的朋友肯定熟悉下面微软的官方工具,本项目也是基于其 ActiveX 控件行的封装,实现对远程桌面的管理与使用 MSTSC 2、赶紧来添加第一个远程桌面连接 ? 点击左下角的 来,开启 选项,起个 并 来添加您的一个父级(分组)节点,譬如 样例-添加父节点 再次点击点击左下角的 来新建您的第一个连接,假定您已熟悉 MSTSC 相关设置,那么下面这个配置也难不住您了 样例-添加子节点 样例-显示新增的配置 单击此方块即可连接服务器,请确保网络无阻哦,一般来说 MSTSC 能连上,本工具同样可以 样例-正在连接 样例-连接成功 好了,基本上您已经掌握如何使用此工具了 3、还有其他功能应用? 支持拖动页签头来改变其位置 (同时连接了多个远程可能会有些用) 当你不想打开远程桌面,而只想打开远程服务器上的某个程序时,请在 时填写需要启动程序的路径,如 ,如果该目录已配置到环境变量的 中,如本示例使用程序名 亦同 右击页面头会有菜单选项,比如可执行 操作,右击连接方块或分组...

81,108

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧