【发布时间】:2012-07-14 18:16:15
【问题描述】:
我在 JSP 文件中使用以下代码,该文件由 AppEngine serlvet 提供。
<script type="text/javascript" >
var role = <%= request.getAttribute("role") %>;
</script>
变量是从Servlet 设置的,使用:
req.setAttribute("role", role );
req.getRequestDispatcher("index.jsp").forward(req, resp);
代码在 AppEngine 生产环境中运行良好,但在本地开发服务器中我立即得到以下信息:
Problem accessing /. Reason:
INTERNAL_SERVER_ERROR
Caused by:
java.lang.StackOverflowError
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
这会一直持续下去。调试的时候还可以看到Servlet代码被调用了无数次。
我发现了一些关于 AppEngine 生产的类似问题的参考资料,但没有找到适用于 AppEngine 开发服务器的可行修复方法。
有什么想法吗??
【问题讨论】:
标签: google-app-engine eclipse-plugin gae-eclipse-plugin