我有一个使用三个 JSP 页面的 servlet。我正在使用 Eclipse Indigo 并在 localhost 的 80 端口上运行 Tomcat v5.5 服务器,并且应用程序运行良好。该应用程序以登录页面(JSP 第 1 页)启动。用户凭据经过身份验证,然后显示 JSP 页 2。用户单击此页面上的列表项进行选择,JSP 页面 3 将“加载”相关联的 bean 数据并显示出来。在 80 端口下运行时没有问题。
但是,如果我更改 Tomcat 端口,这会以一种奇怪的方式破坏应用程序。如果我将 Tomcat 的端口更改为 25000,则 JSP 页面 1 显示正常,我们看到 JSP 页面 2。用户单击以进行选择,关联的 bean 数据再次用于“加载”JSP 页面 3 并显示. 但是,这一次,传递给浏览器的块是 JSP 页面2的块。此外,传送到浏览器的块包括 JSP 页2块的内容,然后是 JSP 页 3 块的正确内容!也就是说,从 Tomcat 中“生成”出来的页面是来自第 2 页的块以及第 2 页和第 3 页的块的组合。
在 JSP 页面 2 中有四个项目,它们从本地服务器加载四组 JavaScript。一个是自定义脚本,一个是 Modernizr 包,最后两个是 jQuery 和 jQuery Mobile。我发现如果我删除 jQuery Mobile,问题就会消失。
总之,如果我在端口 80 上运行 Tomcat,我可以在 JSP 页 2 中包含 jQuery,并且没有问题。如果我将 Tomcat 的端口更改为 80 以外的端口,则在 JSP 页 2 中包含 jQuery Mobile 会导致 JSP 页 3 被丢弃。在这一点上,我认为 jQuery Mobile 本身并不是真正的问题——它怎么会导致 JSP 页面 3 包含页面 2?但是,Tomcat JSP 处理工具正在解析、修补和生成这些发送到浏览器的页面,因此问题似乎更可能出在此处。但我不知道为什么更改 Tomcat 端口号会影响 JSP 处理。
除了 Eclipse Tomcat v5.5 Server 窗格上的端口号之外,还有什么我必须更改的,以确保 JSP 处理继续工作吗?任何能解释世界上发生了什么的人都知道他们的东西!!!
谢谢你。