that is a funky url, it has a space in it, and the last "/" should be
encoded

Filip

> -----Original Message-----
> From: Neil Aggarwal [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 26, 2003 5:45 PM
> To: 'Tomcat-User'
> Cc: Jeff Patterson
> Subject: Request dispatcher fails on encoded url when used in post
> (Bug?)
>
>
> Hello:
>
> I am getting a failure in my code when using a request dispatcher
> to forward the request to an encoded url from a post operation.
>
> To see it in action, do the following:
> 1. Turn off cookies on your browser
> 2. Visit http://dev.jammconsulting.com/gen?_template=/index.jsp
> 3. Hit the Test button.
>
> You will get this error:
>
> HTTP Status 404 - /gen;jsessionid=BF99242CF6F9E32C44D50EACE5576AD5
> ------------------------------------------------------------------------
> --------
> type Status report
> message /gen;jsessionid=BF99242CF6F9E32C44D50EACE5576AD5
> description The requested resource
> (/gen;jsessionid=BF99242CF6F9E32C44D50EACE5576AD5) is not available.
> ------------------------------------------------------------------------
> --------
> Apache Tomcat/4.1.27
>
> Now, turn on cookies and try it again.  You will get a page that states:
> This is compose.jsp
> Session id is BFBC13C89DD4B3F5A98EF8E53F0D6A45
>
> I thought that Tomcat is supposed to act the same with cookies on or off
>
> when I use encodeURL on all of my urls.
>
>
> Here is the code behind this sample:
>
> In httpd.conf, ask apache to map all urls that begin with /gen into
> tomcat:
>   <LocationMatch /gen>
>     JkUriSet worker ajp13:localhost:8009
>   </LocationMatch>
>
> In tomcat server.xml, I told tomcat that the root context uses
> my app:
> <Context path="" docBase="email" debug="0"/>
>
> In my app's web.xml, told it to map all request for /gen to
> my test servlet:
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <!DOCTYPE web-app
>     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>     "http://java.sun.com/dtd/web-app_2_3.dtd";>
>
> <web-app>
>
>     <servlet>
>         <servlet-name>sls</servlet-name>
>         <servlet-class>
>             servlet.TestServlet
>         </servlet-class>
>     </servlet>
>
>     <servlet-mapping>
>         <servlet-name>sls</servlet-name>
>         <url-pattern>/gen/*</url-pattern>
>     </servlet-mapping>
>
>     <session-config>
>         <session-timeout>50</session-timeout>
>     </session-config>
>
> </web-app>
>
> Here is my test servlet, which forwards all requests to the appropriate
> template:
> package servlet;
>
> import java.io.*;
> import java.net.*;
>
> import javax.servlet.*;
> import javax.servlet.http.*;
>
> public class TestServlet extends HttpServlet {
>   private void process(HttpServletRequest request, HttpServletResponse
> response)
>   throws ServletException, IOException {
>
> getServletContext().getRequestDispatcher(request.getParameter("_template
> ")).forward(request, response);
>   }
>
>   protected void doGet(HttpServletRequest request, HttpServletResponse
> response)
>   throws ServletException, IOException {
>     process(request,response);
>   }
>
>   protected void doPost(HttpServletRequest request, HttpServletResponse
> response)
>   throws ServletException, IOException {
>     process(request,response);
>   }
> }
>
> Here is the index.jsp template, which posts to the massCompose template:
> <P>
> Session id is <%= session.getId() %>
> <P>
>
> <form name=groupList method="post" action="<%=
> response.encodeUrl("/gen") %>">
>   <input type=hidden name="_template" value="/massCompose.jsp">
>   <input type="submit" value="test">
> </form>
>
> Here is the massCompose template which forwards to the compose template:
> <%
>   RequestDispatcher rdispatch =
> request.getRequestDispatcher(response.encodeURL("/gen?_template=/compose
> .jsp&type=normal"));
>   rdispatch.forward(request, response);
> %>
>
> Here is the compose template which just displays a message:
> <HTML>
>
>   <BODY>
>     This is compose.jsp
>     <P>
>     Session id is <%= session.getId() %>
>     <P>
>   </BODY>
>
> </HTML>
>
> Any ideas why this is occurring?
>
> Thanks,
>       Neil
>
> --
> Neil Aggarwal, JAMM Consulting, (972)612-6056, www.JAMMConsulting.com
> FREE! Valuable info on how your business can reduce operating costs by
> 17% or more in 6 months or less! => http://newsletter.JAMMConsulting.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to