Filter to redirect to welcome action when pre-compiling JSPs
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-nameWelcomeFilter/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]
Re: Filter to redirect to welcome action when pre-compiling JSPs
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-nameWelcomeFilter/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]
Re: Filter to redirect to welcome action when pre-compiling JSPs
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-nameWelcomeFilter/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] -- Jason Lea Email: [EMAIL PROTECTED] Phone/Fax: +64 3 381 2907 Mobile:+64 21 040 2708 Address: 9a Tabart Street, Christchurch, New Zealand - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Filter to redirect to welcome action when pre-compiling JSPs
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 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-nameWelcomeFilter/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]
Re: Filter to redirect to welcome action when pre-compiling JSPs
It's easier to maintain than a bunch of one line index.jsp files that redirect to another page and it gave me an excuse to learn more about filters :-). David From: Jason Lea [EMAIL PROTECTED] Reply-To: Struts Users Mailing List [EMAIL PROTECTED] To: Struts Users Mailing List [EMAIL PROTECTED] Subject: Re: Filter to redirect to welcome action when pre-compiling JSPs Date: Tue, 25 Mar 2003 18:01:54 +1200 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-nameWelcomeFilter/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] -- Jason Lea Email: [EMAIL PROTECTED] Phone/Fax: +64 3 381 2907 Mobile:+64 21 040 2708 Address: 9a Tabart Street, Christchurch, New Zealand - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] _ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Filter to redirect to welcome action when pre-compiling JSPs
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-nameWelcomeFilter/filter-name filter-classnz.net.kumachan.project.WelcomeFilter/filter-class init-param param-nameforwardName/param-name param-valuehomepage/param-value /init-param /filter ... filter-mapping filter-nameWelcomeFilter/filter-name url-pattern//url-pattern /filter-mapping ... !-- Standard Action Servlet -- servlet servlet-nameaction/servlet-name servlet-classorg.apache.struts.action.ActionServlet/servlet-class init-param param-nameconfig/param-name param-value/WEB-INF/struts-config.xml/param-value /init-param load-on-startup3/load-on-startup /servlet !-- Standard Action Servlet Mapping -- servlet-mapping servlet-nameaction/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-nameWelcomeFilter/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] -- Jason Lea Email: [EMAIL PROTECTED] Phone/Fax: +64 3 381 2907 Mobile:+64 21 040 2708 Address: 9a Tabart Street, Christchurch, New Zealand - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Filter to redirect to welcome action when pre-compiling JSPs
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-nameWelcomeFilter/filter-name filter-classnz.net.kumachan.project.WelcomeFilter/filter-class init-param param-nameforwardName/param-name param-valuehomepage/param-value /init-param /filter ... filter-mapping filter-nameWelcomeFilter/filter-name url-pattern//url-pattern /filter-mapping ... !-- Standard Action Servlet -- servlet servlet-nameaction/servlet-name servlet-classorg.apache.struts.action.ActionServlet/servlet-class init-param param-nameconfig/param-name param-value/WEB-INF/struts-config.xml/param-value /init-param load-on-startup3/load-on-startup /servlet !-- Standard Action Servlet Mapping -- servlet-mapping servlet-nameaction/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-nameWelcomeFilter/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