gpt4 book ai didi

jsp - 在 tomcat 上运行 Web 应用程序

转载 作者:行者123 更新时间:2023-11-28 23:48:06 25 4
gpt4 key购买 nike

我正在尝试分析 tomcat 服务器。我的探查器输出由 tomcat 服务器执行的方法列表。我使用 Ubuntu 12.04。我的做法如下:

1)启动tomcat服务器(./startup.sh)

2) 打开浏览器,执行java开发的web应用(包含jsp页面),例如(http://localhost:8080/bodgeit.) 我已经将bodgeit web 应用程序放在tomcat 7.0.28 的webapps 目录中(我在tomcat 上运行bodgeit web 应用程序)

3) 我在这个 web 应用程序中执行了一些操作,比如登录、将东西添加到购物车、更改密码、注销等。

4) 然后我通过 ./shutdown.sh 停止服务器。当我运行关闭脚本时,我的探查器输出包含运行 tomcat 时执行的方法列表的文件。

现在我的问题是:我通过执行上述步骤收集了两次或更多次配置文件。我在第 3 步中在 Web 应用程序中执行完全相同的操作(以相同的顺序)。但是我在两个输出中获得的方法顺序不同。为什么会这样? 我的分析器也能够保存方法序列。

apache 网络服务器执行的方法每次都不同吗?他们不是固定的吗?就像某些方法在您启动服务器、发出请求或关闭服务器时执行?我也是 tomcat、servlet 和 jsp 的新手。我对它的工作原理有基本的了解。例如以下序列不存在于第一个文件中,存在于第二个文件中。像这样,还有很多不同。

<callingContextTree><method declaringClass="Lorg/apache/catalina/startup/HostConfig$DeployWar;" name="run" params="" return="V"><callsite instruction="7"><method declaringClass="Lorg/apache/catalina/startup/HostConfig;" name="deployWAR" params="Lorg/apache/catalina/util/ContextName; Ljava/io/File;" return="V"><callsite instruction="555"><method declaringClass="Lorg/apache/catalina/core/StandardHost;" name="addChild" params="Lorg/apache/catalina/Container;" return="V"><callsite instruction="20"><method declaringClass="Lorg/apache/catalina/core/ContainerBase;" name="addChild" params="Lorg/apache/catalina/Container;" return="V"><callsite instruction="15"><method declaringClass="Lorg/apache/catalina/core/ContainerBase;" name="addChildInternal" params="Lorg/apache/catalina/Container;" return="V"><callsite instruction="75"><method declaringClass="Lorg/apache/catalina/util/LifecycleBase;" name="start" params="" return="V"><callsite instruction="88"><method declaringClass="Lorg/apache/catalina/core/StandardContext;" name="startInternal" params="" return="V"><callsite instruction="517"><method declaringClass="Lorg/apache/catalina/util/LifecycleBase;" name="start" params="" return="V"><callsite instruction="88"><method declaringClass="Lorg/apache/catalina/session/StandardManager;" name="startInternal" params="" return="V"><callsite instruction="4"><method declaringClass="Lorg/apache/catalina/session/StandardManager;" name="load" params="" return="V"><callsite instruction="43"><method declaringClass="Lorg/apache/catalina/session/StandardManager;" name="doLoad" params="" return="V"><callsite instruction="61"><method declaringClass="Lorg/apache/catalina/core/ContainerBase;" name="getLoader" params="" return="Lorg/apache/catalina/Loader;"/></callsite></method></callsite></method></callsite></method></callsite></method></callsite></method></callsite></method></callsite></method></callsite></method></callsite></method></callsite></method></callsite></method></callingContextTree>

有人可以帮我看看发生了什么事吗?简而言之,如果我启动服务器,访问 tomcat 的主页并停止服务器。我又这样做了。 tomcat 两次都以相同的顺序执行相同的方法吗?据我所知,事实并非如此。为什么 ?

谢谢。

最佳答案

看起来 Tomcat 在您使用它时会自动重新加载 Web 应用程序。您可能想要检查文件上相对于计算机系统时钟的时间戳。如果您将来修改了文件,则可以触发这种行为。检查您的 logs/catalina.out 以查看是否有任何自动部署事件正在进行。

关于jsp - 在 tomcat 上运行 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11843253/

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