In case there is anyone out there doing URL-rewriting with JRun and
Apache, I have the solution to my previously mentioned problem. 

Broken:
<a href="<c:url value='/register/CheckoutServlet' />">test</a>

Fixed:
<a href="<c:url value='/register/CheckoutServlet/' />">test</a>

Adding a / to the URL makes Apache play nicely with JRun AND keeps the
jsessionid in the picture:

CheckoutServlet/;jsessionid=503028d6e165$3C$3F$3. 

It's nice when a wild ass guess pays off. :-) 

-kari


On Wed, 2005-05-04 at 17:19, Jeffrey Anderson wrote:
> From my *limited* experience, as long as the Jrun Web server runs the
> application fine, so will the apache web server.  But I realize that you are
> using URL rewriting, which the Jrun Web server/service doesn't support??  I
> realize that the no-cookie shopping option is a design issue that may or may
> not be under your jurisdiction...
> 
> As far as the apache server not finding a servlet, I'm not familiar enough
> with the flow of request data and the connector architecture to know what
> happens when apache gets a 404 and then tries to service the request on
> Jrun, etc.  My inkling is that with your design issue there is a
> misconfiguration in your rewrite regex rules somewhere or that it's not
> possible to get apache using mod_rewrite to reservice the request on the
> Jrun server.  Just a hunch tho :-/
> 
> For what it's worth, here's our DD for a full web app deployed using Struts
> on Jrun (If you're new to struts, there's nothing really interesting here,
> but I've left out some servlet mappings that are specific to our
> application; hopefully this might help):
> 
> <?xml version="1.0"?>
> <!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>action</servlet-name>
>  
> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
>         <init-param>
>                 <param-name>config</param-name>
>                 <param-value>/WEB-INF/struts-config.xml</param-value>
>         </init-param>
>         <init-param>
>                 <param-name>application</param-name>
>                 <param-value>ApplicationResources</param-value>
>         </init-param>
>         <init-param>
>                 <param-name>debug</param-name>
>                 <param-value>2</param-value>
>         </init-param>
>         <init-param>
>                 <param-name>detail</param-name>
>                 <param-value>2</param-value>
>         </init-param>
>         <init-param>
>                 <param-name>validate</param-name>
>                 <param-value>true</param-value>
>         </init-param>
>  <load-on-startup>2</load-on-startup>
>   </servlet>
> 
>   <servlet-mapping>
>         <servlet-name>action</servlet-name>
>         <url-pattern>*.do</url-pattern>
>   </servlet-mapping>
> 
>  <session-config>
>       <session-timeout>120</session-timeout>
>   </session-config>
>   <welcome-file-list>
>     <welcome-file>
>             index.jsp
>         </welcome-file>
>     <welcome-file>
>             index.html
>         </welcome-file>
>     <welcome-file>
>             index.htm
>         </welcome-file>
>   </welcome-file-list>
> </web-app>
> 
> Good luck finding the answer...
> 
> 
>  
> -----Original Message-----
> From: Kari M. Scott [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, May 04, 2005 2:55 PM
> To: JRun-Talk
> Subject: RE: url rewriting servlet-mapping and apache
> 
> Our JRun/apache connection works like a champ for all JSPs and servlets,
> it's only when I try to do URL-rewriting and point to a servlet that things
> go bad. This is a site that's been live for several years; I'm just making
> it so folks can shop without cookies. But, for what it's worth, I've
> included the JRun module piece of our httpd.conf file below.
> And, I don't think this is a deployment issue. I did initially try altering
> the servlet-mapping in our DD by adding a regular expression:
>    <url-pattern>/register/CheckoutServlet*</url-pattern>
> but that was before I realized the problem is Apache not passing the file to
> JRun: 
> 
> File does not exist:
> /htdocs/register/CheckoutServlet;jsessionid=50304cd38aaf$3FpSR$3
> 
> 
> This may be a silly question, but how does Apache know it should give JRun
> servlets? I mean, how does it know that something like "CheckoutServlet" is
> a JRun thing? 
> 
> Thanks for your time,
> Kari
> 
> 
> 
> 
> >From httpd.conf:
> # JRun Settings
> LoadModule jrun_module /tools/jrun4/lib/wsconfig/1/mod_jrun20.so
> <IfModule mod_jrun20.c>
>     JRunConfig Verbose false     
>     JRunConfig Apialloc false
>     JRunConfig Ssl false
>     JRunConfig Ignoresuffixmap false
>     JRunConfig Serverstore /tools/jrun4/lib/wsconfig/1/jrunserver.store
>     JRunConfig Bootstrap 127.0.0.1:9000
>     #JRunConfig Errorurl <optionally redirect to this URL on errors>
>     AddHandler jrun-handler .jsp .jws
> </IfModule>
> 
> 
> 
> 
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Now there’s a better way to fax. eFax makes it possible to use your existing 
email account to send and receive faxes. Try eFax free.
http://www.houseoffusion.com/banners/view.cfm?bannerid=63

Message: http://www.houseoffusion.com/lists.cfm/link=i:8:5660
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/8
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:8
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.8
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to