Get ServletContext

A

aerotops

Hi,

I would like to know if there is a convenience method for obtaining
the servlet context for an application. I have read through many posts
about how this can be done via the servlet config object. My problem
is as:

I have a Java class (a utility class) running in a webapp. I would
like to set a XSLT transformer object as an application level
attribute so I don't have to read it from the file system on every
request. Since the XSLT does not change, I think this would be a
better solution than using caching.

Currently, I have created a servlet which loads on startup and sets
the transformer object as a application level attribute, I would like
to not use an init servlet just for this purpose, rather, get the
ServletContext in a clean way and set the attribute to it.

Thanks.
 
L

Lew

aerotops said:
Hi,

I would like to know if there is a convenience method for obtaining
the servlet context for an application. I have read through many posts
about how this can be done via the servlet config object. My problem
is as:

I have a Java class (a utility class) running in a webapp. I would
like to set a XSLT transformer object as an application level
attribute so I don't have to read it from the file system on every
request. Since the XSLT does not change, I think this would be a
better solution than using caching.

<http://java.sun.com/javaee/5/docs/api/javax/servlet/Servlet.html#getServletConfig()>
or
<http://java.sun.com/javaee/5/docs/api/javax/servlet/GenericServlet.html#getServletConfig()>
<http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletConfig.html#getServletContext()>

Retrieve your transformer from the context in your servlet and pass it on down
to your utility method.
 
L

Lew

aerotops said:
I would like to know if there is a convenience method for obtaining
the servlet context for an application. I have read through many posts
about how this can be done via the servlet config object. My problem
is as:

I have a Java class (a utility class) running in a webapp. I would
like to set a XSLT transformer object as an application level
attribute so I don't have to read it from the file system on every
request. Since the XSLT does not change, I think this would be a
better solution than using caching.

Currently, I have created a servlet which loads on startup and sets
the transformer object as a application level attribute, I would like
to not use an init servlet just for this purpose, rather, get the
ServletContext in a clean way and set the attribute to it.

<http://java.sun.com/javaee/5/docs/api/javax/servlet/GenericServlet.html#getServletContext()>

or
<http://java.sun.com/javaee/5/docs/api/javax/servlet/GenericServlet.html#getServletConfig()>
with
<http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletConfig.html#getServletContext()>

Retrieve your transformer from the context in your servlet and pass it on down
to your utility method.

It doesn't have to be from the "init" servlet, albeit that's a great way to do
it. Why, may I ask, are you opposed to the idiom?

Otherwise, just do it from your controller servlet.
 
R

Robert Klemme

I would like to know if there is a convenience method for obtaining
the servlet context for an application. I have read through many posts
about how this can be done via the servlet config object. My problem
is as:

I have a Java class (a utility class) running in a webapp. I would
like to set a XSLT transformer object as an application level
attribute so I don't have to read it from the file system on every
request. Since the XSLT does not change, I think this would be a
better solution than using caching.

Currently, I have created a servlet which loads on startup and sets
the transformer object as a application level attribute, I would like
to not use an init servlet just for this purpose, rather, get the
ServletContext in a clean way and set the attribute to it.

http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/ServletContextListener.html

robert
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top