I am currently running Tomcat 6.0.24 on a Windows Vista machine.

The web app I am developing will be deployed to a cloud, where server affinity 
will be thrown to the wind.  Thus, instead of relying on tomcat to manage my 
session, I am instead managing the session via manual cookies and a database.

Being that I cannot leverage the tomcat session, I don't want to create a 
session at all.  This has a two-fold benefit:

1)      Slight performance increase due to avoiding session creation overhead

2)      I can put a session listener in place to log an error if ever a session 
is created, to ensure that we are not using the tomcat session in the 
development environment where everything would appear to be fine until we 
deploy to the cloud.

According to JSP spec, I believe I should be able to use the following 
directive to prevent a session from being created by my JSPs: <%@ page 
session="false" %>.  However, even when doing so, I am still getting a session 
created by the internals of the JSP container.  Is there something I am doing 
wrong?  Is it possibly a bug in Tomcat 6.0.24 (couldn't find it on Bugzilla)?  
Or is it simply a "necessary evil"?

The generated JSP code that is triggering the session is:      pageContext = 
_jspxFactory.getPageContext(this, request, response, null, true, 8192, true);

Below is the relevant portion of an exact stack trace:
                at 
org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:854)
                at 
org.apache.catalina.session.StandardManager.createSession(StandardManager.java:291)
                at 
org.apache.catalina.connector.Request.doGetSession(Request.java:2392)
                at 
org.apache.catalina.connector.Request.getSession(Request.java:2098)
                at 
org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833)
                at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:216)
                at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
                at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:493)
                at 
org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:146)
                at 
org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:124)
                at 
org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:107)
                at 
org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:63)
                at 
org.apache.jsp.layouts.nav.layout_005fnav_002dadmin_jsp._jspService(layout_005fnav_002dadmin_jsp.java:44)
                at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Thanks!

--
Brett Birschbach
HS2 Solutions, Inc
brett.birschb...@hs2solutions.com

Reply via email to