jsp记录用户在某一个或者一组页面上停留时间
2个回答
展开全部
最简单的思路,在JSP页面new Date();用户一打开页面时,页面记录下当前时间,然後,当用户一关闭当前页面时,在关闭JS事件中通过AJAX方式传到后台,后台再次new Date()获得用户关闭操作的时间。
然后用关闭的时间 - 打开网页时间就是了。
----------------------------------------------------------------------------
你在后台计算出来停留的时间,插入数据库应该就简单了吧。
在Servlet中或者JSP中的数据库操作不懂就去百度吧。
--------------------------------------------------------------------------
下面是:当用户关闭页面时触发的JS事件代码供你参考一下:
/**
* **************************************************
* ******** 关闭窗口
* **************************************************
*/
function leaves(event){
var vbln = document.getElementById("vbel").value; // 订单号
var issolock = document.getElementById("issolock").value;
var params = {
tcode : "va03",
vbeln : vbln
};
$.ajax({
url : "extiopnAction", // 跳转的路径或者servlet/jsp/struts的路径
type : "post",
dataType : "json",
data : params, //所传递的参数
async : false, // 同步方式(false),客户机要等服务器返回信息後才去执行其他操作
// 异步请求前
// beforeSend:function(){
// document.getElementById("loadwin").style.display
// = "block";
// },
error : function() {
$("#savwin").hide();
alert("服务器异常!");
},
success : function(data) {
// if (data.stype == "s") {
// $("#icspan").html("<img alt=\"gif\" src=\"./img/suc.gif\" class=\"suimg\" />");
// $("#satxt").text(data.emess);
// setTimeout(function() {
// $("#savwin").hide();
// }, sec);
// isright = true;
// }
}
});
}
window.onbeforeunload = leaves; //关闭窗口前操作
**********************************************************************************
用ajax的好处就是保持页面不会被刷新!如果没这个需要,就用window.location.href="exitAction?currentDate="+currdate;吧
然后用关闭的时间 - 打开网页时间就是了。
----------------------------------------------------------------------------
你在后台计算出来停留的时间,插入数据库应该就简单了吧。
在Servlet中或者JSP中的数据库操作不懂就去百度吧。
--------------------------------------------------------------------------
下面是:当用户关闭页面时触发的JS事件代码供你参考一下:
/**
* **************************************************
* ******** 关闭窗口
* **************************************************
*/
function leaves(event){
var vbln = document.getElementById("vbel").value; // 订单号
var issolock = document.getElementById("issolock").value;
var params = {
tcode : "va03",
vbeln : vbln
};
$.ajax({
url : "extiopnAction", // 跳转的路径或者servlet/jsp/struts的路径
type : "post",
dataType : "json",
data : params, //所传递的参数
async : false, // 同步方式(false),客户机要等服务器返回信息後才去执行其他操作
// 异步请求前
// beforeSend:function(){
// document.getElementById("loadwin").style.display
// = "block";
// },
error : function() {
$("#savwin").hide();
alert("服务器异常!");
},
success : function(data) {
// if (data.stype == "s") {
// $("#icspan").html("<img alt=\"gif\" src=\"./img/suc.gif\" class=\"suimg\" />");
// $("#satxt").text(data.emess);
// setTimeout(function() {
// $("#savwin").hide();
// }, sec);
// isright = true;
// }
}
});
}
window.onbeforeunload = leaves; //关闭窗口前操作
**********************************************************************************
用ajax的好处就是保持页面不会被刷新!如果没这个需要,就用window.location.href="exitAction?currentDate="+currdate;吧
展开全部
载入页面事件:获取当前时间,离开页面时获取当前时间,减一下存在变量里就是了
追问
那我怎么插入到数据库中呢?如果我点击超链接离开的话,还要跳到另外一个jsp去....
追答
用户名:
密 码:
在lib文件夹导入数据库启动后:
public Connection conn = null;// 数据库连接对象
public PreparedStatement pstmt = null;// statement的扩展,加入参数控制机制-“?”,调用SQL语句对数据库进行操作(封装JDBC执行SQL语句的方法)
public ResultSet rs = null;// 接收查询结果
private static String dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// 数据库驱动类型/地址
private static String dbUrl = "jdbc:sqlserver://localhost:1433;databaseName=Jsp_witSchoolSystem";
private static String dbUser = "sa";
private static String dbPwd = "123456";
try {
Class.forName(dbDriver);// 连接数据库驱动
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
// 向UserInfo存入读者信息
pstmt = conn
.prepareStatement("insert into UserInfo(CardNo,UserName,Pwd,Phone,[Identity],UserImage) values(?,?,?,?,?,?)");
pstmt.setString(1, CardNo);
pstmt.setString(2, UserName);
pstmt.setString(3, Pwd);
pstmt.setString(4, Phone);
pstmt.setString(5, Identity);
pstmt.setString(6, UserImage);
tf = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
没看书啊你,先去图书馆借书吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |