iframe内部服务器错误500 - 仅在Internet Explorer中

时间:2012-07-17 08:56:26

标签: internet-explorer

我有一个带有iframe的网站,它可以正常使用FF& Chrome但在IE中我得到了: HTTP状态500(Tomcat)。我无法访问日志文件。

为什么会这样?

编辑:

这是网站:http://archiv.difmoe.eu/kalender/ubrtest.php

我使用fiddler2来获取此报告:

<html><head><title>Apache Tomcat/5.0.26 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
com.exlibris.digitool.common.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)

根本原因

java.lang.NullPointerException
    org.apache.jsp.mets.toc_jsp._jspService(toc_jsp.java:74)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    com.exlibris.digitool.common.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)

注意完整堆栈跟踪Apache Tomcat / 5。0。26日志中提供了根本原因。

Apache Tomcat / 5.0.26

2 个答案:

答案 0 :(得分:0)

这是因为没有传递带有会话ID 的 cookie。 您需要在每个页面上发送标题,以设置 Cookie

<强> PHP:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

<强> ASP.NET:

HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");

<强> Django的:

response = render_to_response('mytemplate.html')
response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'

<强> JSP:

response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")

参考: http://adamyoung.net/IE-Blocking-iFrame-Cookies

答案 1 :(得分:0)

老问题,但它有很多谷歌果汁,所以也许这将有助于未来的人:

我在ASP.NET MVC网站上遇到了同样的问题。我必须从控制器中的[ValidateAntiForgeryToken]方法中删除POST,并将其从视图中删除。然后一切正常(在所有版本的IE中)。我的猜测是它仍然以某种形式或方式与标题相关。