我正在分解the angularjs branch of the spring petclinic以弄清楚它是如何工作的。当我在我的本地devbox上的eclipse中运行它时,它在url localhost : 8080 / petclinic
上完美运行,提供以下主页:
但是当我将它捆绑到战争中并将其部署在远程tomcat web服务器上作为somedomain.com的根战时,对somedomain.com的请求会产生以下通用登录页面:
要确定它是否是由petclinic angularJS应用程序中的JavaScript代码引起的,我删除了src/main/webapp的所有内容,并在其他petclinic示例应用程序中用最小的Hello World AngularJS应用程序替换它们,但是当我将战争的最小“Hello World”版本重新部署到somedomain.com
服务器时,也会出现同样的问题。
我也查找了SecurityConfig.java
,但下载中没有此类文件。我读了所有the spring config files,但无法识别任何安全参数。
您可以通过以下简单步骤在几分钟内自行重新创建此问题:
1。)导航到/ home / username / git
2。)git clone https://github.com/singularity-sg/spring-petclinic.git
3。)Eclipse - >档案 - >导入 - > Maven - >现有的Maven项目
4。)Eclipse - > Project Explorer - > Rt-Click-Project - > Maven - >下载资源
5.)Eclipse - > Project Explorer - > Rt-Click-Project - > Maven - >更新项目
6。)Eclipse - > Project Explorer - > Rt-Click-Project - > Run As..Maven Build ... war:war
7.。)将war部署到somedomain.com目录下的远程tomcat服务器并将其重命名为ROOT.war
8.。)在您的网络浏览器中输入somedomain.com。
这个问题是关于Spring Petclinic的AngularJS分支。但为了比较,我还用this other AngularJS Spring MVC sample app重复了上述步骤,这在eclipse中也可以正常工作,并且在somedomain.com上托管时也可以使用相同的GENERIC LOGIN PAGE。
那么为什么tomcat在打包为ROOT.war
并且为响应somedomain.com
的请求而提供服务时,tomcat为什么不提供它?