gpt4 book ai didi

java - JSP 用户点击计数器

转载 作者:行者123 更新时间:2023-12-01 15:26:37 25 4
gpt4 key购买 nike

我试图计算每个用户进入网站的次数,但我的问题是,即使我更改了用户名,点击计数也不会重新开始。另外,一旦我重新加载网页,用户名就会变为“null”。

<HTML>
<BODY>
<FORM METHOD=POST ACTION="SaveName.jsp">
Who are You ? <INPUT TYPE=TEXT NAME=username SIZE=20>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>

<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Applcation object in JSP</title>
</head>
<body>
<%
String name = request.getParameter( "username" );
session.setAttribute( "theName", name );
Integer hitsCount =
(Integer)application.getAttribute("hitCounter");
if( hitsCount ==null || hitsCount == 0){
/* First visit */
out.println("Welcome to my website! ");

hitsCount = 1;
}else{
/* return visit */
out.println("Welcome back to my website!");
hitsCount += 1;
}
application.setAttribute("hitCounter", hitsCount);
%>
<%= session.getAttribute( "theName" ) %>
<br>Total number of visits: <%= hitsCount%></br>
</body>
</html>

最佳答案

在你的 JSP 中

<%!
Map<String,Integer> userCountMap = new HashMap<String,Integer>();
Integer hitsCount=0;
String key;
%>


<%
String name = request.getParameter( "username" );
if(name!=null && !"".equals(name)){
key=name.toLowerCase();
if(userCountMap.get(key)!=null){
/* return visit */
out.println("<h3>"+name+"</h3>&nbsp;Welcome back to my website!");
hitsCount = userCountMap.get(key);
hitsCount+=1;

}else{
out.println("<h3>"+name+"</h3>&nbsp;Welcome to my website!");
hitsCount=1;
}
userCountMap.put(key, hitsCount);
}
%>

关于java - JSP 用户点击计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com