Thanks for sharing!
On Mon, 2003-03-24 at 23:23, Jason Lea wrote: > gaffer wrote: > > Hi Jason, > > > > At this very moment, I am trying to solve a similar issue. Would you > > mind posting the relevant snippets from web.xml and struts-config? Such > > as paths to actions, url-pattern, etc. > > > > Thanks > > Al > > Ok, here goes... > > web.xml: > <web-app> > ... > <!-- Filter: redirect to Struts forwardName--> > <filter> > <filter-name>WelcomeFilter</filter-name> > <filter-class>nz.net.kumachan.project.WelcomeFilter</filter-class> > <init-param> > <param-name>forwardName</param-name> > <param-value>homepage</param-value> > </init-param> > </filter> > ... > <filter-mapping> > <filter-name>WelcomeFilter</filter-name> > <url-pattern>/</url-pattern> > </filter-mapping> > ... > <!-- Standard Action Servlet --> > <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> > <load-on-startup>3</load-on-startup> > </servlet> > > <!-- Standard Action Servlet Mapping --> > <servlet-mapping> > <servlet-name>action</servlet-name> > <url-pattern>*.do</url-pattern> > </servlet-mapping> > ... > </web-app> > > Note: > I don't have a <welcome-file-list> defined in web.xml. > My WelcomeFilter takes a Struts Global Forward, looks up the forward (in > this case it would return "/Homepage.do"). I could have just put > "/Homepage.do" as the forwardName and use > req.getRequestDispatcher(forwardName).forward(req,res) instead of > messing with the Struts code. Hmm, maybe that would be nicer... I might > change it now :) > > > > struts-config.xml: > <struts-config> > ... > <global-forwards> > ... > <forward > name="homepage" > path="/Homepage.do"/> > ... > <global-forwards> > ... > <action-mappings> > ... > <action > path="/Homepage" > type="org.apache.struts.actions.ForwardAction" > parameter="main.homepage"/> > ... > </action-mappings> > ... > </struts-config> > > Note: > The action "/Homepage" forwards to the parameter "main.homepage" which > maps to a Tiles definition eg in tiles-defs.xml: > > <definition name="main.homepage" extends=".mainLayout"> > > but I could have used something like "WEB-INF/jsp/pages/Homepage.jsp" > for the parameter > > > Hope this helps... > > Jason Lea > > > > > > > On Mon, 2003-03-24 at 22:01, Jason Lea wrote: > > > >>Cool. It's good to know someone else has done this. I thought I should > >>post this just so someone else looking at pre-compilation of JSPs would > >>find it useful, but also to see if there are any glaring issues or if it > >>is a Good Thing (TM) :-) > >> > >>Jason > >> > >>David Graham wrote: > >> > >>>This is exactly what I did :-). > >>> > >>>David > >>> > >>> > >>> > >>> > >>>>From: Jason Lea <[EMAIL PROTECTED]> > >>>>Reply-To: "Struts Users Mailing List" <[EMAIL PROTECTED]> > >>>>To: Struts Users Mailing List <[EMAIL PROTECTED]> > >>>>Subject: Filter to redirect to welcome action when pre-compiling JSPs > >>>>Date: Tue, 25 Mar 2003 17:47:14 +1200 > >>>> > >>>>I have been playing around with JSP pre-compilation with Tomcat-4.1.24 > >>>>(http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jasper-howto.html) so > >>>>I can check my JSP pages for compiler errors before deployment, but > >>>>also to remove the delay that the first hit incurs. > >>>> > >>>>The only problem with this is the <welcome-file> which has to point to > >>>>a physical jsp page and not a servlet. The Struts in Action book > >>>>suggests using a index.jsp page with a <logic:redirect> to a Welcome > >>>>action, which is what I was doing. > >>>> > >>>>I tried creating a servlet that would forward the request onto my > >>>>Welcome action & servlet-mapping with a <url-pattern>/<url-pattern>, > >>>>but this seemed to match any request and cause lots of problems. > >>>> > >>>>So I dropped that idea and instead have used a filter... > >>>> > >>>><filter-mapping> > >>>> <filter-name>WelcomeFilter</filter-name> > >>>> <url-pattern>/</url-pattern> > >>>></filter-mapping> > >>>> > >>>>which works perfectly. It only fires for http://localhost/app/ or > >>>>http://localhost/app and my filter forwards the request onto my > >>>>Welcome action correctly. > >>>> > >>>>I can now get rid of index.jsp and all my other JSPs are pre-compiled. > >>>>I have also hidden all of my JSPs under the WEB-INF so they cannot be > >>>>called directly and have to go through my Struts actions. > >>>> > >>>> > >>>>Jason Lea > >>>> > >>>> > >>>>--------------------------------------------------------------------- > >>>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>> > >>> > >>>_________________________________________________________________ > >>>Protect your PC - get McAfee.com VirusScan Online > >>>http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 > >>> > >>> > >>>--------------------------------------------------------------------- > >>>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> -- gaffer <[EMAIL PROTECTED]> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]