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
