Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 403对Tomcat 7.0.52中指定url的访问被拒绝_Java_Web Applications_Tomcat7 - Fatal编程技术网

Java 403对Tomcat 7.0.52中指定url的访问被拒绝

Java 403对Tomcat 7.0.52中指定url的访问被拒绝,java,web-applications,tomcat7,Java,Web Applications,Tomcat7,我最近将tomcat服务器从7.0.49迁移到7.0.52。在tomcat中,它包含2个早期工作的web应用程序,迁移到此版本后,我面临着对指定url的403访问被拒绝 每当我们第一次在浏览器或面对403错误的选项卡上尝试时,但当我们刷新页面时,它会重定向到登录页面 我想在这里补充的另一件事是,只有一个应用程序出现了403错误。因此,我尝试在两个版本上与Tomcat配置文件进行比较,并验证没有更改异常版本特定的更改 在此问题上添加更多调试点,在web.xml上定义了角色,因此尝试对其进行注释。它

我最近将tomcat服务器从
7.0.49
迁移到
7.0.52
。在tomcat中,它包含2个早期工作的web应用程序,迁移到此版本后,我面临着对指定url的403访问被拒绝

每当我们第一次在浏览器或面对403错误的选项卡上尝试时,但当我们刷新页面时,它会重定向到登录页面

我想在这里补充的另一件事是,只有一个应用程序出现了403错误。因此,我尝试在两个版本上与Tomcat配置文件进行比较,并验证没有更改异常版本特定的更改

在此问题上添加更多调试点,在web.xml上定义了角色,因此尝试对其进行注释。它被重定向到登录页面


任何人都可以就这个问题分享想法。

也许会话被动化的策略在7.0.49和7.0.52之间有所改变


尝试删除所有被动会话。

尝试在执行第一个请求之前清除浏览器缓存。可能给出403的应用程序使用了一些授权cookie(如sso cookie或可能的JSSessionID)。这个cookie可能很重要。如果是这种情况,那么在清除cookies之后,您应该直接进入登录页面


这就解释了为什么一个应用程序工作而另一个不工作(客户端浏览器上的某些状态可以保持)

我在过去开始使用同一个Tomcat版本时遇到了类似的问题

如果我没记错的话,Tomcat和Servlet规范之间存在一些误解,导致一些Servlet启动两次。你可以多读一点


无论如何,我一直为我工作的是在
web.xml
中的
webapp
元素中添加
metadata complete=“true”
。在我看来,这是一个遗憾,因为我使用的是纯Java配置,因此我必须仅为此保留此文件。

您如何部署应用程序。您是将应用程序放在webapps目录中,还是在server.xml文件或其他(上下文)中对其进行了特定配置文件?更具体地说,这两个应用程序都是作为映像与tomcat一起部署到Web应用程序中的。因此它是基于服务进行处理的。每次重新启动服务器时都会出现这种情况吗?是的,每次访问主机时都会出现这种情况。还有一个想法:您是否使用最新版本的java 7?哪个供应商:openjdk还是sun jdk?openjdk中有一些关于httpurlconnection的bug,可能会影响使用此版本的Tomcat上运行的应用程序。如果您使用Java6或Java7(这不是最新版本),请尝试使用JDK7的更新版本。请看这里的例子:是的,尽管我面临着同样的问题,但我已经尝试过了。谢谢分享你的想法。合格的深为人知的答案,为什么声誉这么低?