You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cactus-user@jakarta.apache.org by "Brehm, Robert P" <ro...@office.xerox.com> on 2004/09/29 02:33:23 UTC
Overriding a Servlet Context Parametners
All,
I have an application where I would like to override certain servlet context parameters. In my application they are "serverhost" and "serverport". I tried to do this:
public void beginLoginJSP(WebRequest response) throws Exception {
sc = (AbstractServletContextWrapper) this.config.getServletContext();
String hostname = (String) sc.getInitParameter("serverhost");
int port = Integer.parseInt((String) sc.getInitParameter("serverport"));
sc.setInitParameter("serverhost","localhost");
sc.setInitParameter("serverport","7000");
}//method
public void testLoginJSP() throws Exception {
sc.getRequestDispatcher("/login.jsp").forward(request,response);
}//method
But in my login.jsp there are the following two lines:
String serverHost = application.getInitParameter("serverhost");
int serverPort = Integer.parseInt((String) application.getInitParameter("serverport"));
These lines always have then initial web.xml values, not the ones that I reassigned in beginLoginJSP. Is there something that I am not realizing? Any help would be appreciated!
Regards,
Bob Brehm
Software Engineer
Xerox Corp.
Re: Overriding a Servlet Context Parametners
Posted by Kazuhito SUGURI <su...@lab.ntt.co.jp>.
Hi,
In article <B5...@USAWVMS08-BK.opbu.xerox.com>,
Tue, 28 Sep 2004 17:33:23 -0700,
"Brehm, Robert P" <ro...@office.xerox.com> wrote:
robert> public void beginLoginJSP(WebRequest response) throws Exception {
robert> sc = (AbstractServletContextWrapper) this.config.getServletContext();
robert> String hostname = (String) sc.getInitParameter("serverhost");
robert> int port = Integer.parseInt((String) sc.getInitParameter("serverport"));
robert> sc.setInitParameter("serverhost","localhost");
robert> sc.setInitParameter("serverport","7000");
robert> }//method
robert>
robert> public void testLoginJSP() throws Exception {
robert> sc.getRequestDispatcher("/login.jsp").forward(request,response);
robert> }//method
AbstractServletContextWrapper#setInitParameters() does not change
the corresponding init-parameter value of the original ServletContext.
So, the re-assigned values cannot be refered from other servlets,
including a servlet generated from your login.jsp.
robert> But in my login.jsp there are the following two lines:
robert> String serverHost = application.getInitParameter("serverhost");
robert> int serverPort = Integer.parseInt((String) application.getInitParameter("serverport"));
BTW, why are you using init-parameters instead of attributes?
Regards,
----
Kazuhito SUGURI
mailto:suguri.kazuhito@lab.ntt.co.jp