無限ループのなぞ
MyFacesを使っていて、下のようにweb.xmlでマッピングをして、
web.xml <servlet-mapping> <servlet-name>FacesServlet</servlet-name> <url-pattern>/hoge.jsp</url-pattern> </servlet-mapping>
アプリケーションルートに配置したhoge.jspに
http://localhost:8080/hoge/hoge.jsp
とアクセスすると、
[ERROR] 2005-09-22 02:07:10 ApplicationContext#log() Exception in FacesServlet java.lang.StackOverflowError at org.apache.catalina.connector.Request.doGetSession(Request.java:2160) at org.apache.catalina.connector.Request.getSession(Request.java:2017) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:822) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544) ...(省略)... at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544) at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215) at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544) at org.apache.myfaces.context.servlet.SessionMap.getSession(SessionMap.java:80) at org.apache.myfaces.context.servlet.SessionMap.getAttribute(SessionMap.java:51) at org.apache.myfaces.context.servlet.AbstractAttributeMap.get(AbstractAttributeMap.java:101) at org.apache.myfaces.application.jsp.JspStateManagerImpl.getSerializedViewFromServletSession(JspStateManagerImpl.java:339) at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreTreeStructure(JspStateManagerImpl.java:192) at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:217) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:301) at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:129) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:82) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:405) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:280) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110) ...(省略)...
と、これでもかっというくらい無限ループするんだけど何で?
hoge.jspの内容は
HOGEHOGEHOGE
って書いてるだけなのに。