hi craig!
I implemented a front controller servlet like this in tomcat and put my
jsp's and servlets
behind the WEB-INF directory (*without* being aware of the suggestion in the
J2EE patterns book. I just found it quite sensible to put it there - it's in
the context of the 
current webapp but still hidden from the client)

cosnippet:
// note: 
// defUrl is of type String[] and contains values retreived from a database
// where logical URLs are mapped to physical ones, i.e. to the client
// it is transparent wether the requested resource is a servlet or a JSP
// e.g. logical URL  ->    physical URL (in defUrl[] array)
//       "/login"        ->    "/login"            ... servlet URL, see
below
//       "/top"          ->     "/jsp/top.jsp"    ... path to JSP file
residing in the directory "/WEB-INF/jsp/" 
// the file "web.xml" contains e.g. the following:
//  <servlet-mapping>
//    <servlet-name>Login</servlet-name>
//    <url-pattern>/WEB-INF/login</url-pattern>
//   </servlet-mapping>                                                     
                                                     

durl = "/WEB-INF"+defUrl[i];
rd = scon.getRequestDispatcher(durl);      // scon holds ref. to servlet
context
rd.forward(request,response);                                               
                                               

works like a charm. as it seems, you are trying exactly the same (as far as
I can see) and it works also for servlets (which are referenced by the
url-pattern of the servlet mapping in web.xml)
if your configuration does not differ I can only assume that this is a
limitation of weblogic.
if so, I do not find this very favourable, because then it is quite
difficult to implement the front controller pattern in a sensible way which is
portable across different application servers and/or servlet containers.
please let me know if you should find out that weblogic behaves in fact
differently and - if yes -
wether this seems standards conformant (otherwise tomcat's behaviour is, and
tomcat is known to be the reference implementation for servlet & JSP specs)
if I get around to it, I will try to find out what the specs say about this.
greetings

> Hi,
>  
> I have a war file deployed on Weblogic 7. I have placed all of my jsp
> files
> under /WEB-INF/jsp as a security measure to control direct client access
> to
> the JSPs. All client access is via a front controller servlet, which
> redirects to a particular JSP based on criteria in the request. My problem
> is if I make a call something like this inside the controller servlet:
> 
> ...
> 
> dispatcher = context.getRequestDispatcher("/WEB-INF/jsp/my.jsp");
> 
> dispatcher.forward(request, response);
> 
> ...
> 
> I get a 404 resource not found returned to the client. This should be
> really
> simple, so I am frustrated with this! What am I missing? This structure is
> detailed in the J2EE patterns book, but after going back and looking at
> the
> section again I realize there is a lot of hand waving and no code examples
> for this particular part. If I drop the leading slash from the path I get
> a
> NullPointerException, which according to the JavaDocs is the correct
> functionality - it explicitly states the path must begin with a slash and
> represents the path from the root of current context to the required
> JSP/servlet.
> 
> I haven't had a chance to try this on another container yet, so perhaps
> this
> is a Weblogic quirk. Also as soon as I post this I am going to try and
> move
> the JSPs out from under the WEB-INF directory just to verify what the
> problem really is (ie. all forwarding is not working, or just forwarding
> to
> resources under WEB-INF). Of course having the JSPs out from under WEB-INF
> defeats the purpose of this exercise in the long run!
> 
> Thanks,
> 
> Craig
> 
> 
> 
> ____________________________________________________
> To change your JDJList options, please visit:
> http://www.sys-con.com/java/list.cfm
> 
> Be respectful! Clean up your posts before replying
> ____________________________________________________
> 

-- 
+++ GMX - Mail, Messaging & more  http://www.gmx.net +++
NEU: Mit GMX ins Internet. G�nstige DSL- & Modem/ISDN-Tarife!


____________________________________________________
To change your JDJList options, please visit:
http://www.sys-con.com/java/list.cfm

Be respectful! Clean up your posts before replying
____________________________________________________

Reply via email to