You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Chen, Kevin" <Ke...@bmc.com> on 2000/11/09 00:31:56 UTC

question about RequestDispatcher.forward() in tomcat

I am trying to implement a MVC system. the controller
will intercept all request for .jsp page, then forward
it to the jsp page after some checking.

I am using TOMCAT to run the servlet. and using
extension rul mapping, i.e.:(in web.xml)
    <servlet-mapping>
    <servlet-name> controller </servlet-name>
    <url-pattern> *.jsp </url-pattern>
    </servlet-mapping>
My test controller just forward the page to another jsp page,
the code looks like:
    RequestDispatcher dis;
    dis=getServletContext().getRequestDispatcher("/index.jsp");
    dis.forward (req, res);
    //dis.include (req, res);

the problem with above approach is that, my controller will
intercept the index.jsp too. which will cause the page cannot
be displayed. looks like the servlet container resend the
index.jsp page to me again and again.


Is there anyway around it?

Appreciate any help.
kevin

Re: question about RequestDispatcher.forward() in tomcat

Posted by "Craig R. McClanahan" <Cr...@eng.sun.com>.
What I do in the Struts framework <http://jakarta.apache.org/struts>,
which implements the MVC pattern you are talking about, is map a
different extension for the logical actions (normally, these will be the
values you use for hyperlinks and form submits).  I like to use "*.do"
because it implies "go do something".

That way, I leave the mappings for the JSP pages set to the JSP servlet,
as it normally is.

Craig McClanahan


"Chen, Kevin" wrote:

> I am trying to implement a MVC system. the controller
> will intercept all request for .jsp page, then forward
> it to the jsp page after some checking.
>
> I am using TOMCAT to run the servlet. and using
> extension rul mapping, i.e.:(in web.xml)
>     <servlet-mapping>
>     <servlet-name> controller </servlet-name>
>     <url-pattern> *.jsp </url-pattern>
>     </servlet-mapping>
> My test controller just forward the page to another jsp page,
> the code looks like:
>     RequestDispatcher dis;
>     dis=getServletContext().getRequestDispatcher("/index.jsp");
>     dis.forward (req, res);
>     //dis.include (req, res);
>
> the problem with above approach is that, my controller will
> intercept the index.jsp too. which will cause the page cannot
> be displayed. looks like the servlet container resend the
> index.jsp page to me again and again.
>
> Is there anyway around it?
>
> Appreciate any help.
> kevin