Java 将SpringWeb应用从tomcat 5.5迁移到tomcat 6.0时出现问题

Java 将SpringWeb应用从tomcat 5.5迁移到tomcat 6.0时出现问题,java,spring,tomcat,spring-security,Java,Spring,Tomcat,Spring Security,我有一个SpringWeb应用程序,它在Tomcat5.5上运行良好。我曾尝试将同一个web应用程序部署到Tomcat6容器,但遇到了一些问题 我遇到的两个主要问题是为jstl配置容器和让spring安全登录正常工作 我相信我已经通过在$CATALINA_HOME/lib目录中包含来自的jstl-1.2.jar lib解决了jstl配置问题(尽管很奇怪,很难找到如何使其工作的方法) 现在的主要问题是,当我尝试使用基于表单的身份验证登录时,当登录表单提交到“j_spring_security_ch

我有一个SpringWeb应用程序,它在Tomcat5.5上运行良好。我曾尝试将同一个web应用程序部署到Tomcat6容器,但遇到了一些问题

我遇到的两个主要问题是为jstl配置容器和让spring安全登录正常工作

我相信我已经通过在$CATALINA_HOME/lib目录中包含来自的jstl-1.2.jar lib解决了jstl配置问题(尽管很奇怪,很难找到如何使其工作的方法)

现在的主要问题是,当我尝试使用基于表单的身份验证登录时,当登录表单提交到“j_spring_security_check”时,会出现HTTP 404错误

我已经按照spring安全文档在web.xml文件中设置了过滤器,但是tomcat似乎没有按照预期调用它

我希望有人能在这里分享他们的经验,因为我的配置中肯定缺少一些基本的东西

谢谢

更新:根据这里的回复进行故障排除时,我最后做的一件事是下载tomcat 6.0.18的新副本,并确保我在WEB-INF/lib目录中有jstl-1.2.jar文件。有趣的是,现在该应用程序似乎运行良好

我有点困惑,但我现在将尝试跟踪导致错误的两个tomcat安装中的差异,并在这里发布进一步的更新


感谢大家的回复。

如果您使用maven,您需要jstl:

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

javax.servlet
jstl
1.2
运行时

根据您提供的信息,很难判断出问题出在哪里

在Tomcat5.x和更早版本中,常用于Common/lib的公共共享库;现在它们属于/lib目录

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

Tomcat 5.x和6.x都使用JSTL版本1.2 JAR,因此这是常见的。是位置改变了。我建议您使用WEB-INF/lib中所需的JAR构建WAR文件

如果您使用的是SpringSecurity,即以前称为ACEGI的模块,请确保这些JAR也可用

HTTP 404-确定这不仅仅是部署或URL问题吗


尝试关闭Spring安全性,将其从配置文件中注释并重新启动。如果其他一切正常,你的应用程序应该马上启动。然后你就会知道你必须集中精力。如果没有,您可以继续搜索其他错误。

我同意w/duffymo,没有足够的信息。尝试在应用程序中打开详细日志记录,看看日志中是否有明显的内容