2009-02-08 89 views
2

我有一个在tomcat 5.5上正常工作的spring web应用程序。我试图将相同的web应用程序部署到tomcat 6容器,并提出一些问题。将Spring Web App从tomcat 5.5迁移到tomcat 6.0时出现的问题

我所遇到的主要两个问题是与为jstl配置容器并使Spring安全登录正常工作有关。

我相信我已经通过在$ CATALINA_HOME/lib目录从here了JSTL-1.2.jar LIB(虽然它确实看起来很奇怪,它是如此难以找出如何解决JSTL的配置问题得到这个工作)。现在

的主要问题是,当我尝试登录使用基于表单的认证,我当登录表单提交给“j_spring_security_check”得到一个HTTP 404错误。

我已经根据spring安全性文档在web.xml文件中设置了过滤器,但看起来tomcat没有按预期调用它。

我希望有人可以在这里分享自己的经验,我当然缺少我的配置一些基本的东西。

谢谢。

更新:虽然根据这里的回复进行了故障排除,但我最终做的一件事是下载tomcat 6.0.18的全新副本,并确保我在WEB中有jstl-1.2.jar文件-INF/lib目录。有趣的是,现在应用程序似乎工作正常。

我有点为难,但现在我会尽力追查安装这是造成错误两个tomcat的区别,并在这里发表一个进一步的更新。

感谢您对这些家伙的回应。

回答

1

如果你使用Maven的时候,你需要为JSTL:

<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
     <scope>runtime</scope> 
    </dependency> 
1

这太很难说什么是错的,根据你提供的信息。

用于在Tomcat 5.x和更早版本中共同/共同使用的共享共享库;现在它们属于/ lib目录。

就个人而言,我更喜欢把尽可能多的,因为我可以在我的部署的WEB-INF/lib中,因为我不希望有依赖于具有服务器以特定的方式成立。如果类加载器可以在我的WAR文件中找到它需要的所有JAR,我很高兴。

双方的Tomcat 5.x和6.x使用JSTL 1.2 JAR,所以这是常见的。这是改变的位置。我建议使用WEB-INF/lib中需要的JAR来构建WAR文件。

如果你使用Spring Security的前身为ACEGI模块,请确保您有这些JAR文件可用了。

HTTP 404 - 确定它不只是一个部署或URL问题?

尝试通过将配置文件注释掉并重新启动来关闭Spring安全性。如果一切顺利的话,你的应用程序应该会正确无误。然后你就会知道你必须专心。如果不是,您可以继续搜索还有什么是错误的。

0

我同意瓦特/ duffymo,没有足够的信息。请尝试在您的应用程序中开启详细日志记录,并查看日志中是否有任何明显的内容。

相关问题