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]

Reply via email to