Java程序,用于监视我使用J2EE制作的网站

Java程序,用于监视我使用J2EE制作的网站,java,jakarta-ee,Java,Jakarta Ee,我用J2EE做了我的项目 我想通过他们的一些具体信息(例如他们访问的时间、IP地址等)来跟踪所有访问过我的网站的人。我如何在java程序的帮助下做到这一点 我可以将信息存储在数据库中。所以我需要的是关于如何检索访问该网站的人的信息的逻辑。 Tomcat服务器,我正在使用jsp+servlet 谢谢..查看API。特别是查看getRemoteAddr()、客户端的远程IP地址、getRemoteHost()和getRemotePort()。希望您的大多数客户不会使用代理,否则您将获得代理的信息 另

我用J2EE做了我的项目

我想通过他们的一些具体信息(例如他们访问的时间、IP地址等)来跟踪所有访问过我的网站的人。我如何在java程序的帮助下做到这一点

我可以将信息存储在数据库中。所以我需要的是关于如何检索访问该网站的人的信息的逻辑。 Tomcat服务器,我正在使用jsp+servlet

谢谢..

查看API。特别是查看getRemoteAddr()、客户端的远程IP地址、getRemoteHost()和getRemotePort()。希望您的大多数客户不会使用代理,否则您将获得代理的信息

另一种技术是为每个客户机设置唯一的标识cookie,然后每个后续请求都将携带该cookie。这可能是一种比跟踪IP地址更好的方法。下面是一个关于在servlet中处理cookies的示例

根据altCognito的建议,Web服务器级分析工具是另一种方法。

查看API。特别是查看getRemoteAddr()、客户端的远程IP地址、getRemoteHost()和getRemotePort()。希望您的大多数客户不会使用代理,否则您将获得代理的信息

另一种技术是为每个客户机设置唯一的标识cookie,然后每个后续请求都将携带该cookie。这可能是一种比跟踪IP地址更好的方法。下面是一个关于在servlet中处理cookies的示例

Web服务器级分析工具是另一种方法,按照AltCuito的伟大建议。

是你真正应该考虑的。根据您的访问日志运行它。我知道你想使用java应用程序,但是你真的应该考虑AWSTATS,因为它是一个成熟的产品。在java中复制AWStats所需要的时间要长。>/P>

是你真正应该考虑的。根据您的访问日志运行它。我知道你想使用java应用程序,但是你真的应该考虑AWSTATS,因为它是一个成熟的产品。strong>在Java中复制AWStats已经完成的功能需要很长时间。

我们在我以前的工作中也使用过。管理层和客户似乎对此感到满意

我想当你说我用J2EE做了我的项目时,你指的是一个运行在J2EE服务器上的企业应用程序,比如Glassfish、JBoss、Weblogic、Geronimo等等

如果您不需要复杂的解决方案,可以在Tomcat(通常嵌入在大多数J2EE服务器中)中使用或设置

我以前的工作也用过。管理层和客户似乎对此感到满意

我想当你说我用J2EE做了我的项目时,你指的是一个运行在J2EE服务器上的企业应用程序,比如Glassfish、JBoss、Weblogic、Geronimo等等


如果您不需要复杂的解决方案,可以在Tomcat(通常嵌入在大多数J2EE服务器中)中使用或设置

下面是一个使用
ServletRequestListener
HttpServletRequest
获取信息的小示例

首先,将侦听器添加到web.xml配置文件。此文件应位于WEB-INF文件夹中


    <listener>
        <description>RequestListener</description>
        <listener-class>web.MyRequestListener</listener-class>
    </listener>
代码所做的只是从HTTP头打印出属性、参数和信息。如果需要请求的日期,可以在输入
requestInitialized()
时创建
java.util.date

请记住,每次有来自浏览器(或bot)的HTTP请求时,都会调用
ServletRequestListener
requestInitialized()
,因此最好使用应用程序外部的工具来跟踪使用情况。如果您正在寻找外部工具,您可能需要考虑,或者如果您的网络配置不允许您使用谷歌Analytics。
下面是一个使用
ServletRequestListener
HttpServletRequest
获取信息的小示例

首先,将侦听器添加到web.xml配置文件。此文件应位于WEB-INF文件夹中


    <listener>
        <description>RequestListener</description>
        <listener-class>web.MyRequestListener</listener-class>
    </listener>
代码所做的只是从HTTP头打印出属性、参数和信息。如果需要请求的日期,可以在输入
requestInitialized()
时创建
java.util.date

请记住,每次有来自浏览器(或bot)的HTTP请求时,都会调用
ServletRequestListener
requestInitialized()
,因此最好使用应用程序外部的工具来跟踪使用情况。如果您正在寻找外部工具,您可能需要考虑,或者如果您的网络配置不允许您使用谷歌Analytics。

我们可以假设您正在使用servlet吗?您正在使用哪个JavaEE服务器?玻璃鱼?JBoss?WebSphere?WebLogic?我们可以假设您使用的是servlet吗?您正在使用哪个JavaEE服务器?玻璃鱼?JBoss?WebSphere?网络逻辑?