Re: TLS-Enabled Connector Prevents Startup
Has the certificate the SSL/TLS connection uses expired? This will cause the TLS connection to fail to come up. Then, if you have a security constraint defined in your web.xml file that requires TLS for your initial pages, the redirect from your normal port to the TLS port will fail (since the TLS port is not active). Just a thought, Jason __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: jspc
Hi Paul, To specify a path for your compilation results use the -d option like so: jspc.sh -compile -d /jakarta-tomcat-5.0.25/webapps myapp/WEB-INF/classes ...the rest of you compile options... It will build any subdirs required using the directory you specify, along with the package name you give it (org.apache.jsp if you don't specify a package name) as the root directory for any subdirs. As for the work directory that is where Tomcat places any jsps that it has to compile (i.e. non-precompiled jsps) during runtime. If you run Tomcat with uncompiled jsps and walk though your app in a browser you will see compiled JSPs appear in the work directory. It will create subdirs, etc. to mimic your applications directory structure and place compiled versions there. You could just place your compiled jsps in the same respective places in the work directory before starting Tomcat and it would probably work. BUT, Tomcat will only expand .war files into the webapps directory so you have no way of packaging up these compiled files from the work directory and automatically expanding them into another work directory at Tomcat startup. That would have to be a manual process by the end user (or an install script). It is not the recommended deployment strategy. It does save you from having to worry about having the web.xml mappings correct though. Tomcat will check first in the work directory for a compiled jsp and then look for an uncompiled version if it doesn't find one there. No mappings in web.xml are required. In answer to another related question I saw posted: If you precompile your JSPs and then remove the original JSPs you need to have two things for your app to run: 1. The compiled JSP class files need to be copied over to the WEB-INF/classes directory with the correct directory structure. (The exact directory with be the package name (org.apache.jsp by default) plus any subdirs the JSP existed in under you apps root folder. i.e. if under webapps/yourapp you had a jsp in a directory subdir1/subdirB then under you WEB-INF/classes directory you would need a directory called org/apache/jsp/subdir1/subdirB and you would place that compiled JSP class there. The easiest way to do this is to run your compile with the -d option as stated above and point the output to your WEB-INF/classes directory. jspc in Tomcat 5.x should automatically create the correct subdir structure and place the class file in it. 2. Yuo need servlet definitions and mappings that tell Tomcat If someone requests this .jsp execute this servlet instead. These go in the web.xml file for your app. jspc will create a complete file or just a fragment file that contains all the mappings. You can tell it explicitly to create a fragment file with the -webinc option like so: -webinc /jakarta-tomcat-5.0.25/webapps/myapp/WEB-INF/my_web_fragment.xml I think it creates a complete web.xml if you use this option -webxml /jakarta-tomcat-5.0.25/webapps/myapp/WEB-INF/my_complete_web.xml In this case you just have to rename the file web.xml and place it in you app's WEB-INF directory. If you don't do BOTH of these things, then Tomcat won't know where to look for your compiled JSPs and will instead look for the actual .jsp. Finding nothing it will throw a 404 error. I hope this is helpful. Jason --- Paul Wallace [EMAIL PROTECTED] wrote: (sorry, wrong key!) Hi Jason, Thanks for that. Yes, it does make sense. A couple of things though, I just ran it with -compile - great. But my query about the work directory and was more towards what I am being 'encouraged' to do from the powers that be. I.e not WAR the app., but put it in the work directory. Is this ill-advised/poor practice? To accomplish this, is it as simple as dragging the compiled source under my work directory, and modifying my web.xml as advised? Why does -compile work, but not appear in the usage?! Also, can I specify a path for the compilation, rather than the classes be placed in the same dirs as the source? (I tried adding a path after the -compile switch, but it constructed and compiled a file with the same name as the class directory destination). Do I make sense?! Paul. Paul, I just use the -compile option and have jspc do the compilation from .java to .class for me. It seems to work fairly well. Once all the fully compiled (ie .class) files are placed in you applications WEB-INF/classes directory you just need to place the generated web.xml file in WEB-INF. There is an option to create a complete web.xml file that you can place in WEB-INF or, if you already have a web.xml file you want to keep, you can have jspc create an xml fragment that just contains the servlet definitions and mappings that you then add (in the appropriate place) to your existing web.xml. Then just war up you application directory in the normal way (you can even delete the jsps once your certain the
Re: jspc
Paul, I just use the -compile option and have jspc do the compilation from .java to .class for me. It seems to work fairly well. Once all the fully compiled (ie .class) files are placed in you applications WEB-INF/classes directory you just need to place the generated web.xml file in WEB-INF. There is an option to create a complete web.xml file that you can place in WEB-INF or, if you already have a web.xml file you want to keep, you can have jspc create an xml fragment that just contains the servlet definitions and mappings that you then add (in the appropriate place) to your existing web.xml. Then just war up you application directory in the normal way (you can even delete the jsps once your certain the servlet mappings are working). If you try to put the generated files in your working directory you won't be able to war them up and deploy them in the normal put war file under webapps directory and tomcat will expand it when it starts way. You'd have to ship a complete tomcat directory structure with the work directory already filled in with your compiled jsps. Does that make sense? Jason --- Paul Wallace [EMAIL PROTECTED] wrote: Hello, I have compiled my JSPs thus: jspc -webapp C:\src\site -d C:\src\site\classes -s -l -uriroot C:\src\site this builds the Java source files to the specified location, but how might I deploy them? What is a typical deployment after a JSP compilation? Compilation of Java source files, then WAR/JAR? Can I not define the JSP compile to go under my work directory? The purpose of my efforts is to try and speed up / make TC less memory consumptive. cheers Paul. __ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tomcat 4.1.x jsp pre-compilation
Hi Woodchuck, I just fought the exact same thing for two weeks and this is what I discovered: If you want to precompile all the JSPs with a package name other than org.apache.jsp you have to use the -p option and give it a new package name. This doesn't really work, as you may have already discovered, especially if you want the subdirectories the JSPs exist under to be included in the package name. To get the sub-dirs included I wrote a script to find all the JSPs under my app's root dir then walked through the list and submitted a jspc compile for each of the JSPs in the list. I computed the package name based on the sub-directory the JSP was found in. Here's the main loop I used for my script: # Begin Code - ALL_JSP_FILES=`find ${WEBAPP_ROOT_DIR}/${PRODUCT}/* -name '*.jsp'` for i in ${ALL_JSP_FILES} do echo Compiling $i JSP_FILE=${i##*/} #echo JSP_FILE = $JSP_FILE # JSP_DIR is just an intermediate directory that # doesn't need to be passed on to the next # script (i.e. doesn't need to be exported). JSP_DIR=${i%/*} #echo JSP_DIR = $JSP_DIR PRODUCT_SUB_DIR=${JSP_DIR#*/${PRODUCT}} #echo PRODUCT_SUB_DIR = $PRODUCT_SUB_DIR # We have to source this script in order # for the exported variables to still be # valid. (i.e. put the . in front of it) . compile_single_jsp.sh done # End Code The compile_single_jsp.sh converts the PRODUCT_SUB_DIR variable to a dotted package name suffix using sed: PACKAGE_SUFFIX=`echo $PRODUCT_SUB_DIR | sed -e 's/\//./g'` and then calls jspc.sh to do the actual compile: jspc.sh \ -v4 \ -l \ -compile \ -d ${TOMCAT_ROOT_DIR}/webapps/${PRODUCT}/WEB-INF/classes \ -p com.mycompany${PACKAGE_SUFFIX} \ -webinc ${TOMCAT_ROOT_DIR}/webapps/${PRODUCT}${PRODUCT_SUB_DIR}/${JSP_FILE}.xml \ ${TOMCAT_ROOT_DIR}/webapps/${PRODUCT}${PRODUCT_SUB_DIR}/${JSP_FILE} I run this from the /bin directory in my tomcat root. The downside to this is that you then have to merge all of the individual web.xml fragments produced by each compile into the existing web.xml (or a brand new one you create). I wrote another script and then a C++ program to do this. The only way around this is to use Tomcat 5.x to do the compile. It will automatically compute the package name with subdirs though I still had to submit each by hand to get it to compile beyond my root directory (I'm still looking into this). Of course you can't run these compiled JSPs under anything but Tomcat 5.x so it's kind of useless if you are stuck back at 4.x. I had to move to 5.x because of a bug in the 4.x jspc compiler that produced 0 length .java files on an compile error but didn't tell you what the error was. So currently I use jspc from Tomcat 5.0.25 but still merge all the xml fragments after the compiles complete. It sucks, but the code is already written so I'm sticking with it until I have time to find another way. Hope that helps, Jason --- Woodchuck [EMAIL PROTECTED] wrote: hi, when i pre-compile my jsps, i found that Tomcat only likes them when they are compiled with the package org.apache.jsp. if i change the generated *_jsp.java files (before compiling) to a different package that is anything but org.apache.jsp, Tomcat fails to load them when I try to access the page. Tomcat (4.1.x) seems to have hard-coded logic inside to only work with jsp class files packaged under org.apache.jsp. has anyone found a workaround for this, so that we are not restricted to compile all jsp's to the package org.apache.jsp? is this a setting/configuration we can tweak on Tomcat? thanks in advance!! __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Servlet ... threw load() exception - ActionServlet.parseModuleConfigFile
I have a webapp that runs in Tomcat 4.1.18 fine, but when I load them into Tomcat 5.0.25 I get an HTTP Status 503 - Servlet action is currently unavailable error. I get the following error on Tomcat startup in my Tomcat log: 2004-06-08 13:57:08 StandardContext[/balancer]org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]] 2004-06-08 13:57:14 StandardContext[/servlets-examples]ContextListener: contextInitialized(( 2004-06-08 13:57:14 StandardContext[/servlets-examples]SessionListener: contextInitialized() 2004-06-08 13:57:20 StandardContext[/jsp-examples]ContextListener: contextInitialized() 2004-06-08 13:57:20 StandardContext[/jsp-examples]SessionListener: contextInitialized() 2004-06-08 13:58:17 StandardContext[/plns]Marking servlet action as unavailable 2004-06-08 13:58:17 StandardContext[/plns]Servlet /plns threw load() exception javax.servlet.UnavailableException: Parsing error processing resource path java/lang/Throwable.init(Ljava/lang/String;)V+4 (Throwable.java:85) java/lang/Exception.init(Ljava/lang/String;)V+1 (Exception.java:33) javax/servlet/ServletException.init(Ljava/lang/String;)V+0 (ServletException.java:62) javax/servlet/UnavailableException.init(Ljava/lang/String;)V+0 (UnavailableException.java:115) org/apache/struts/action/ActionServlet.handleConfigException(Ljava/lang/String;Ljava/lang/Exception;)V+0 (ActionServlet.java:1034) org/apache/struts/action/ActionServlet.parseModuleConfigFile(Ljava/lang/String;Ljava/lang/String;Lorg/apache/struts/config/ModuleConfig;Lorg/apache/commons/digester/Digester;Ljava/lang/String;)V+0 (ActionServlet.java:1000) org/apache/struts/action/ActionServlet.initModuleConfig(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/struts/config/ModuleConfig;+0 (ActionServlet.java:915) org/apache/struts/action/ActionServlet.init()V+0 (ActionServlet.java:464) com/ibm/as400ad/webfacing/runtime/controller/struts/WFActionServlet.init()V+0 (:??) javax/servlet/GenericServlet.init(Ljavax/servlet/ServletConfig;)V+0 (GenericServlet.java:210) org/apache/catalina/core/StandardWrapper.loadServlet()Ljavax/servlet/Servlet;+0 (StandardWrapper.java:875) org/apache/catalina/core/StandardWrapper.load()V+0 (StandardWrapper.java:862) org/apache/catalina/core/StandardContext.loadOnStartup([Lorg/apache/catalina/Container;)V+0 (StandardContext.java:3965) org/apache/catalina/core/StandardContext.start()V+0 (StandardContext.java:4013) org/apache/catalina/core/ContainerBase.addChildInternal(Lorg/apache/catalina/Container;)V+0 (ContainerBase.java:813) org/apache/catalina/core/ContainerBase.addChild(Lorg/apache/catalina/Container;)V+0 (ContainerBase.java:802) org/apache/catalina/core/StandardHost.addChild(Lorg/apache/catalina/Container;)V+0 (StandardHost.java:592) org/apache/catalina/core/StandardHostDeployer.install(Ljava/lang/String;Ljava/net/URL;)V+0 (StandardHostDeployer.java:183) org/apache/catalina/core/StandardHost.install(Ljava/lang/String;Ljava/net/URL;)V+0 (StandardHost.java:832) org/apache/catalina/startup/HostConfig.deployDirectories(Ljava/io/File;[Ljava/lang/String;)V+0 (HostConfig.java:648) org/apache/catalina/startup/HostConfig.deployApps()V+0 (HostConfig.java:415) org/apache/catalina/startup/HostConfig.start()V+0 (HostConfig.java:960) org/apache/catalina/startup/HostConfig.lifecycleEvent(Lorg/apache/catalina/LifecycleEvent;)V+0 (HostConfig.java:326) org/apache/catalina/util/LifecycleSupport.fireLifecycleEvent(Ljava/lang/String;Ljava/lang/Object;)V+0 (LifecycleSupport.java:113) org/apache/catalina/core/ContainerBase.start()V+0 (ContainerBase.java:1042) org/apache/catalina/core/StandardHost.start()V+0 (StandardHost.java:736) org/apache/catalina/core/ContainerBase.start()V+0 (ContainerBase.java:1042) org/apache/catalina/core/StandardEngine.start()V+0 (StandardEngine.java:459) org/apache/catalina/core/StandardService.start()V+0 (StandardService.java:458) org/apache/catalina/core/StandardServer.start()V+0 (StandardServer.java:2283) org/apache/catalina/startup/Catalina.start()V+0 (Catalina.java:547) org/apache/catalina/startup/Bootstrap.start()V+0 (Bootstrap.java:281) org/apache/catalina/startup/Bootstrap.main([Ljava/lang/String;)V+0 (Bootstrap.java:385) It seems to be complaining about parsing a configuration file for the WFActionServlet. Would there be a difference between the configuration file that Tomcat expects from 4.1.18 and 5.0.25 (I realize the underlying servlet/jsp spec
struts or parser change from Tomcat 4.x to 5.x?
I have an application that runs fine in Tomcat 4.1.18 but gives me a Status 503 - Servlet action is currently unavailable error when I try to run it with Tomcat 5.0.25. The full error from the Tomcat log is below. I checked the struts-user list and tomcat-user list archives and searched on google, but all references there suggest missing jars or syntax errors. I've triple checked that I have all the mentioned jars and checked my struts-config.xml for the various errors but still haven't found anything. The app's war file was simply copied from 4.1.18 to 5.0.25 and tomcat was started, so I know all the files are the same. Did anything change between Tomcat 4.x anf 5.x with regards to struts? Any help or pointers would be appreciated. Thanks, Jason Jason Palmatier [EMAIL PROTECTED] wrote: I have a webapp that runs in Tomcat 4.1.18 fine, but when I load them into Tomcat 5.0.25 I get an HTTP Status 503 - Servlet action is currently unavailable error. I get the following error on Tomcat startup in my Tomcat log: 2004-06-08 13:57:08 StandardContext[/balancer]org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]] 2004-06-08 13:57:14 StandardContext[/servlets-examples]ContextListener: contextInitialized(( 2004-06-08 13:57:14 StandardContext[/servlets-examples]SessionListener: contextInitialized() 2004-06-08 13:57:20 StandardContext[/jsp-examples]ContextListener: contextInitialized() 2004-06-08 13:57:20 StandardContext[/jsp-examples]SessionListener: contextInitialized() 2004-06-08 13:58:17 StandardContext[/plns]Marking servlet action as unavailable 2004-06-08 13:58:17 StandardContext[/plns]Servlet /plns threw load() exception javax.servlet.UnavailableException: Parsing error processing resource path java/lang/Throwable.init(Ljava/lang/String;)V+4 (Throwable.java:85) java/lang/Exception.init(Ljava/lang/String;)V+1 (Exception.java:33) javax/servlet/ServletException.init(Ljava/lang/String;)V+0 (ServletException.java:62) javax/servlet/UnavailableException.init(Ljava/lang/String;)V+0 (UnavailableException.java:115) org/apache/struts/action/ActionServlet.handleConfigException(Ljava/lang/String;Ljava/lang/Exception;)V+0 (ActionServlet.java:1034) org/apache/struts/action/ActionServlet.parseModuleConfigFile(Ljava/lang/String;Ljava/lang/String;Lorg/apache/struts/config/ModuleConfig;Lorg/apache/commons/digester/Digester;Ljava/lang/String;)V+0 (ActionServlet.java:1000) org/apache/struts/action/ActionServlet.initModuleConfig(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/struts/config/ModuleConfig;+0 (ActionServlet.java:915) org/apache/struts/action/ActionServlet.init()V+0 (ActionServlet.java:464) com/ibm/as400ad/webfacing/runtime/controller/struts/WFActionServlet.init()V+0 (:??) javax/servlet/GenericServlet.init(Ljavax/servlet/ServletConfig;)V+0 (GenericServlet.java:210) org/apache/catalina/core/StandardWrapper.loadServlet()Ljavax/servlet/Servlet;+0 (StandardWrapper.java:875) org/apache/catalina/core/StandardWrapper.load()V+0 (StandardWrapper.java:862) org/apache/catalina/core/StandardContext.loadOnStartup([Lorg/apache/catalina/Container;)V+0 (StandardContext.java:3965) org/apache/catalina/core/StandardContext.start()V+0 (StandardContext.java:4013) org/apache/catalina/core/ContainerBase.addChildInternal(Lorg/apache/catalina/Container;)V+0 (ContainerBase.java:813) org/apache/catalina/core/ContainerBase.addChild(Lorg/apache/catalina/Container;)V+0 (ContainerBase.java:802) org/apache/catalina/core/StandardHost.addChild(Lorg/apache/catalina/Container;)V+0 (StandardHost.java:592) org/apache/catalina/core/StandardHostDeployer.install(Ljava/lang/String;Ljava/net/URL;)V+0 (StandardHostDeployer.java:183) org/apache/catalina/core/StandardHost.install(Ljava/lang/String;Ljava/net/URL;)V+0 (StandardHost.java:832) org/apache/catalina/startup/HostConfig.deployDirectories(Ljava/io/File;[Ljava/lang/String;)V+0 (HostConfig.java:648) org/apache/catalina/startup/HostConfig.deployApps()V+0 (HostConfig.java:415) org/apache/catalina/startup/HostConfig.start()V+0 (HostConfig.java:960) org/apache/catalina/startup/HostConfig.lifecycleEvent(Lorg/apache/catalina/LifecycleEvent;)V+0 (HostConfig.java:326) org/apache/catalina/util/LifecycleSupport.fireLifecycleEvent(Ljava/lang/String;Ljava/lang/Object;)V+0 (LifecycleSupport.java:113) org/apache/catalina/core/ContainerBase.start
Solved: struts or parser change from Tomcat 4.x to 5.x?
Got it. It seems that for the version of struts that Tomcat 5.0.25 uses you MUST place a slash / before the config init-param init-value field. An example: servlet servlet-nameaction/servlet-name servlet-classcom.ibm.as400ad.webfacing.runtime.controller.struts.WFActionServlet/servlet-class * Here's the important part * init-param param-nameconfig/param-name param-value/WEB-INF/struts-config.xml/param-value /init-param * End important part * . . . /servlet is valid while, servlet servlet-nameaction/servlet-name servlet-classcom.ibm.as400ad.webfacing.runtime.controller.struts.WFActionServlet/servlet-class * Here's the important part * init-param param-nameconfig/param-name param-valueWEB-INF/struts-config.xml/param-value /init-param * End important part * . . . /servlet is not (at least for Tomcat 5.0.25). Tomcat 4.1.18 was fine with this. This would seem to have some interesting consequences, considering that the second web.xml fragment was autogenerated by a major web application development tool. Is this a bug in struts or the new way of doing things? Jason --- Jason Palmatier [EMAIL PROTECTED] wrote: I have an application that runs fine in Tomcat 4.1.18 but gives me a Status 503 - Servlet action is currently unavailable error when I try to run it with Tomcat 5.0.25. The full error from the Tomcat log is below. I checked the struts-user list and tomcat-user list archives and searched on google, but all references there suggest missing jars or syntax errors. I've triple checked that I have all the mentioned jars and checked my struts-config.xml for the various errors but still haven't found anything. The app's war file was simply copied from 4.1.18 to 5.0.25 and tomcat was started, so I know all the files are the same. Did anything change between Tomcat 4.x anf 5.x with regards to struts? Any help or pointers would be appreciated. Thanks, Jason Jason Palmatier [EMAIL PROTECTED] wrote: I have a webapp that runs in Tomcat 4.1.18 fine, but when I load them into Tomcat 5.0.25 I get an HTTP Status 503 - Servlet action is currently unavailable error. I get the following error on Tomcat startup in my Tomcat log: 2004-06-08 13:57:08 StandardContext[/balancer]org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]] 2004-06-08 13:57:14 StandardContext[/servlets-examples]ContextListener: contextInitialized(( 2004-06-08 13:57:14 StandardContext[/servlets-examples]SessionListener: contextInitialized() 2004-06-08 13:57:20 StandardContext[/jsp-examples]ContextListener: contextInitialized() 2004-06-08 13:57:20 StandardContext[/jsp-examples]SessionListener: contextInitialized() 2004-06-08 13:58:17 StandardContext[/plns]Marking servlet action as unavailable 2004-06-08 13:58:17 StandardContext[/plns]Servlet /plns threw load() exception javax.servlet.UnavailableException: Parsing error processing resource path java/lang/Throwable.init(Ljava/lang/String;)V+4 (Throwable.java:85) java/lang/Exception.init(Ljava/lang/String;)V+1 (Exception.java:33) javax/servlet/ServletException.init(Ljava/lang/String;)V+0 (ServletException.java:62) javax/servlet/UnavailableException.init(Ljava/lang/String;)V+0 (UnavailableException.java:115) org/apache/struts/action/ActionServlet.handleConfigException(Ljava/lang/String;Ljava/lang/Exception;)V+0 (ActionServlet.java:1034) org/apache/struts/action/ActionServlet.parseModuleConfigFile(Ljava/lang/String;Ljava/lang/String;Lorg/apache/struts/config/ModuleConfig;Lorg/apache/commons/digester/Digester;Ljava/lang/String;)V+0 (ActionServlet.java:1000) org/apache/struts/action/ActionServlet.initModuleConfig(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/struts/config/ModuleConfig;+0 (ActionServlet.java:915) org/apache/struts/action/ActionServlet.init()V+0 (ActionServlet.java:464) com/ibm/as400ad/webfacing/runtime/controller/struts/WFActionServlet.init()V+0 (:??) javax/servlet/GenericServlet.init(Ljavax/servlet/ServletConfig;)V+0 (GenericServlet.java:210) org/apache/catalina/core/StandardWrapper.loadServlet()Ljavax/servlet/Servlet;+0 (StandardWrapper.java:875) org/apache/catalina/core/StandardWrapper.load()V+0 (StandardWrapper.java:862) org/apache/catalina/core
JspC compile error output - where's it go?
Does anyone know how to get jspc to display compile errors it encounters when compiling a jsp to a .java file? I haven't been able to get it to work with 4.1.18 or 5.0.19. I've looked through the source code for JspC and it seems like it should be throwing JasperExceptions if it encounters an error but I get nothing. No .java file and no errors. I'm calling jspc.sh which calls jasper.sh which then invokes the org.apache.jasper.JspC class with the appropriate parameters. Here's an example of the command jasper.sh submits (echo-ed right before it is submitted from jasper.sh, with some classpath trimming for easier reading): /QIBM/ProdData/Java400/jdk13/bin/java -verbose -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.defaultlog=info -Dorg.apache.commons.logging.simplelog.showdatetime=true -Djava.endorsed.dirs=/qibm/userdata/jakarta-tomcat-5.0.19/bin:/qibm/userdata/jakarta-tomcat-5.0.19/common/endorsed -classpath /QIBM/ProdData/Java400/jdk13/lib/tools.jar:/qibm/userdata/jakarta-tomcat-5.0.19/common/endorsed/xercesImpl.jar: ... a giant classpath here ... /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns/WEB-INF/lib/commons-lang.jar -Djasper.home=/qibm/userdata/jakarta-tomcat-5.0.19 org.apache.jasper.JspC jspc -l -v -d /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns -p com.powertech.plns.RecordJSPs.DONW.QMNUSRC.PWRLOCK -webinc /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns/RecordJSPs/DONW/QMNUSRC/PWRLOCK/PWRLOCK.jsp.xml /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns/RecordJSPs/DONW/QMNUSRC/PWRLOCK/PWRLOCK.jsp This produces no useful output even though it fails to create a .java file. I am at my wits end. Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JspC compile error output - where's it go?
Here's an update: I ran this by hand on a command line without -verbose for java but with the option -Dorg.apache.commons.logging.simplelog.defaultlog=debug for JspC and this is all I got for output: 2004/06/04 14:38:16:043 PDT [INFO] JspC - -uriRoot implicitly set to /QIBM/UserData/jakarta-tomcat-5.0.19/webapps/plns 2004/06/04 14:38:17:811 PDT [DEBUG] JspRuntimeContext - -Parent class loader is: [EMAIL PROTECTED] 2004/06/04 14:38:22:641 PDT [INFO] JspC - -Built File: /RecordJSPs/DONW/QMNUSRC/PWRLOCK/PWRLOCK.jsp The PWRLOCK.jsp.xml fragment was created but no PWRLOCK .java file appears. This seems quite odd since the above messages seem to indcate that everything went fine. Is this a bug in the JspC compiler for 5.0.19? Jason --- Jason Palmatier [EMAIL PROTECTED] wrote: Does anyone know how to get jspc to display compile errors it encounters when compiling a jsp to a .java file? I haven't been able to get it to work with 4.1.18 or 5.0.19. I've looked through the source code for JspC and it seems like it should be throwing JasperExceptions if it encounters an error but I get nothing. No .java file and no errors. I'm calling jspc.sh which calls jasper.sh which then invokes the org.apache.jasper.JspC class with the appropriate parameters. Here's an example of the command jasper.sh submits (echo-ed right before it is submitted from jasper.sh, with some classpath trimming for easier reading): /QIBM/ProdData/Java400/jdk13/bin/java -verbose -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.defaultlog=info -Dorg.apache.commons.logging.simplelog.showdatetime=true -Djava.endorsed.dirs=/qibm/userdata/jakarta-tomcat-5.0.19/bin:/qibm/userdata/jakarta-tomcat-5.0.19/common/endorsed -classpath /QIBM/ProdData/Java400/jdk13/lib/tools.jar:/qibm/userdata/jakarta-tomcat-5.0.19/common/endorsed/xercesImpl.jar: ... a giant classpath here ... /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns/WEB-INF/lib/commons-lang.jar -Djasper.home=/qibm/userdata/jakarta-tomcat-5.0.19 org.apache.jasper.JspC jspc -l -v -d /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns -p com.powertech.plns.RecordJSPs.DONW.QMNUSRC.PWRLOCK -webinc /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns/RecordJSPs/DONW/QMNUSRC/PWRLOCK/PWRLOCK.jsp.xml /qibm/userdata/jakarta-tomcat-5.0.19/webapps/plns/RecordJSPs/DONW/QMNUSRC/PWRLOCK/PWRLOCK.jsp This produces no useful output even though it fails to create a .java file. I am at my wits end. Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat compile vs. jspc/jasper compile (was: 0 length .java files generated by jspc?)
First off, the 0 length Java files are due to a bug in the Tomcat jspc compiler documented in this post: http://junlu.com/msg/41035.html Secondly I discovered that if I keep the JSP around and then simply access it through a browser Tomcat compiles the JSP correctly and I end up with a valid .java and .class file. So I have two questions: 1. Is there a way to see the exact command syntax that Tomcat uses to compile the JSP (classpath and all)? I'm assuming it doesn't used the jspc.sh script since that is what I'm using to precompile it and it keeps failing. 2. Is there another way, besides the method listed in the post above (which didn't seem to work), to see the compile errors generated by jspc? None print out when I submit my compile command and even with the options used above all I get is a file stating Error in File: /RecordJSPs/DOM/QMNUSRC/PWRLOCK/PWRLOCK.jsp which isn't very helpful. Thanks, Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat compile vs. jspc/jasper compile (was: 0 length .java files generated by jspc?)
Hi Yoav, Thanks for the reply. I'm stuck using 4.1.18 so the bug still applies to me :). However I did take my webapp code and copy it into a 5.0.19 install I had laying around. I then ran the compile under 5.0.19 and saw that no 0 length java file was created (this version must have the bug fix) but no error message appeared at all this time. In fact I didn't even get the Error in file... message. I ran through the configuration of the log4j logging but realized what I really need is a way to get the exception encountered by jspc displayed when I submit the JSP for compilation by hand. It would be much easier this way. The bug fix seems to indicate the any exception should be rethrown so I expected to see it. It seems that the old -v option (for verbose ouput, i.e. -v4, -v9, etc.) for jspc is no longer valid. Is there a new option that will possibly produce more output? Jason --- Shapira, Yoav [EMAIL PROTECTED] wrote: Hi, First off, the 0 length Java files are due to a bug in the Tomcat jspc compiler documented in this post: http://junlu.com/msg/41035.html No. The post doesn't discuss why the files are 0-length, only the consequences of them being 0-length (such as they're ignored by javac). The bug referred to in the post you quote has since been fixed. The rest of the post talks about the poster's own errors in setting up commons-logging. 1. Is there a way to see the exact command syntax that Tomcat uses to compile the JSP (classpath and all)? I'm assuming it doesn't used the jspc.sh script since that is what I'm using to precompile it and it keeps failing. Your assumption is correct. You can add debug-level logging to the org.apache.jasper package to see exactly what it does. If you're unsure about configuring tomcat's logging, see http://jakarta.apache.org/tomcat/faq/misc.html#commonsLoggingLog4j. If you want to go further and/or see the code, start with the JspServlet itself, at http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-jasper/jasper2/src/shar e/org/apache/jasper/servlet/JspServlet.java?rev=1.36view=markup, and follow it through the JSP compilation context etc. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
404 Error when accessing pre-compiled JSPs
Hello everyone, I am attempting to deploy pre-compiled jsps in Tomcat 4.1.18 (I can't upgrade, I'm stuck with 4.1.18). I've searched the archive extensively and found that I am doing all the things suggested, but I still cannot seem to find any of my web pages. I'm wondering if any of my steps are wrong and I'm just missing something. This is what I've accomplished so far: 1. Used JSPC to precompile all my jsp's and include their subdirectory in their package statements (i.e. if a jsp exist in myApp/myDir I create a package statement of package com.mycompany.myApp.myDir; for that jsp. 2. I compile the generated .java file into a class file. I make the output directory for the compile my WEB-INF/classes directory so the javac command takes care of creating all the subdirectories based on the package statement of each .java file. 3. I copy the contents of the generated web.xml fragments, merge them into one file (with proper ordering, servlet declarations first, servlet mapping after them, etc.) and then merge this into my existing web.xml file. 4. I then remove all my .jsp files, wipe out everything under my work/Standalone/localhost directory, and restart Tomcat. When I try to access my first page (http://myserver:8080/pt/logon.jsp) I get a 404: Requested resource is not available. Here are a few things I've noticed and have questions about: 1. In my servlet declaration statement can I name my servlet the same as the class name? i.e. if my jsp compiles to com.mycompany.myApp.subDir.anotherSubDir.myclass_jsp can my servlet declaration look like this: servlet servlet-namecom.mycompany.myApp.subDir.anotherSubDir.myclass_jsp /servlet-name servlet-classcom.mycompany.myApp.subDir.anotherSubDir.myclass_jsp /servlet-class /servlet 2. Just to make sure (since I know all the examples show this already), you DO NOT want to include your applications name in the url-pattern of a servlet mapping, correct? In other words, if my application is under webapps/myApp then I want my servlet map to say: servlet-mapping servlet-namecom.mycompany.myApp.subDir.anotherSubDir.myclass_jsp /servlet-name url-pattern/subDir/anotherSubDir/myclass.jsp/url-pattern /servlet-mapping NOT servlet-mapping servlet-namecom.mycompany.subDir.anotherSubDir.myclass_jsp /servlet-name url-pattern/myApp/subDir/anotherSubDir/myclass.jsp/url-pattern /servlet-mapping I feel like I'm really close to getting this running, so this last stuff is very frustrating. Any help would be greatly appreciated. Thanks, Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 404 Error when accessing pre-compiled JSPs
Ah ha! As it turns out, the /web-app end tag in my web.xml file got chopped off during the merge of web.xml fragments. I put this back on and everything seems to work... except one thing: We have some JSP files that get autogenerated by a development tool we're using. Most of these JSPs compile fine, but there are a number that end up as zero length .java files after compiling them with jspc. Is there any reason why jspc might create empty .java files for what look to be relatively simple, but correct, .jsp files? --- Jason Palmatier [EMAIL PROTECTED] wrote: Hello everyone, I am attempting to deploy pre-compiled jsps in Tomcat 4.1.18 (I can't upgrade, I'm stuck with 4.1.18). I've searched the archive extensively and found that I am doing all the things suggested, but I still cannot seem to find any of my web pages. I'm wondering if any of my steps are wrong and I'm just missing something. This is what I've accomplished so far: 1. Used JSPC to precompile all my jsp's and include their subdirectory in their package statements (i.e. if a jsp exist in myApp/myDir I create a package statement of package com.mycompany.myApp.myDir; for that jsp. 2. I compile the generated .java file into a class file. I make the output directory for the compile my WEB-INF/classes directory so the javac command takes care of creating all the subdirectories based on the package statement of each .java file. 3. I copy the contents of the generated web.xml fragments, merge them into one file (with proper ordering, servlet declarations first, servlet mapping after them, etc.) and then merge this into my existing web.xml file. 4. I then remove all my .jsp files, wipe out everything under my work/Standalone/localhost directory, and restart Tomcat. When I try to access my first page (http://myserver:8080/pt/logon.jsp) I get a 404: Requested resource is not available. Here are a few things I've noticed and have questions about: 1. In my servlet declaration statement can I name my servlet the same as the class name? i.e. if my jsp compiles to com.mycompany.myApp.subDir.anotherSubDir.myclass_jsp can my servlet declaration look like this: servlet servlet-namecom.mycompany.myApp.subDir.anotherSubDir.myclass_jsp /servlet-name servlet-classcom.mycompany.myApp.subDir.anotherSubDir.myclass_jsp /servlet-class /servlet 2. Just to make sure (since I know all the examples show this already), you DO NOT want to include your applications name in the url-pattern of a servlet mapping, correct? In other words, if my application is under webapps/myApp then I want my servlet map to say: servlet-mapping servlet-namecom.mycompany.myApp.subDir.anotherSubDir.myclass_jsp /servlet-name url-pattern/subDir/anotherSubDir/myclass.jsp/url-pattern /servlet-mapping NOT servlet-mapping servlet-namecom.mycompany.subDir.anotherSubDir.myclass_jsp /servlet-name url-pattern/myApp/subDir/anotherSubDir/myclass.jsp/url-pattern /servlet-mapping I feel like I'm really close to getting this running, so this last stuff is very frustrating. Any help would be greatly appreciated. Thanks, Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
0 length .java files generated by jspc?
Hi, We have some JSP files that get autogenerated by a development tool we are using and they display fine when run normally in Tomcat. However, when we try to precompile them using jspc we always end up with a few 0 length .java files. These are generally JSPs that define sections of a complete page, but appear to have all the appropriate tags to be self contained jsps. Does anyone know of a case where jspc would produce a 0 length .java file, yet throw no errors and seem content otherwise? Thanks, Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JSP Compiling - painted in a corner?
Hello Illya, Thank you VERY much for your reply. The fact that Tomcat 5.x includes the directory structure in package statements and 4.x does not makes everything I've been doing much clearer. I need to go back and start from the beginning using Tomcat 5.x and Ant and see if I can get it working. If I can I'll have to do some convincing to ship the latest version instead of the 4.x version we were planning on. I think we'll have to do this since we have duplicate file names in subdirectories that are auto-generated so we have no control over their naming. Hm, interesting point. Are you ready to precompile your application for each and every version of each and every container? We are prepared to recompile our app for each server we'll run on, though initially we will only support Tomcat version x (whichever we end up going with when it's all said and done). We're shipping it as a complete package (Tomcat install with our war files included) and plan on crossing the I want to run on my existing Tomcat bridge when we come to it. Our customers generally aren't running a web server of any kind anyways so this shouldn't be much of an issue. Thanks again for pointing out the Tomcat version 4 vs. 5 precompile difference. It really has cleared things up for me. Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JSP Compiling - painted in a corner?
Hello Illya, Thank you for your reply. I need the JSPs precompiled for performance and security reasons. Performanace because we don't want the end user to have a bad first impression when attempting to access our application the first time and having to wait for each page to compile first. Security because we don't want to ship out or source jsp files, we'd rather just ship out class files. I believe the ${tomcat}/work/Catalina/localhost/${context name} directory is where Tomcat places the class files when it compiles them on the first access to a non-compiled jsp. Is this correct? We have compiled jsps in the past and run them by placing them in the WEB-INF/classes directory but the current app has many subdirectories which is where I think we're getting hung up. My guess is that I need to compile my jsps to .java files in such a way as to have their directory structure included in their package statement. Then do the compile from .java to .class files. Is having the subdirectories in the package statement the crucial step I need to solve this? Jason --- Illya Kysil [EMAIL PROTECTED] wrote: Jason Palmatier wrote: I'm trying to precompile JSPs and have run into some trouble with the mappings. First off I CANNOT use the Ant build method as specified in http://jakarta.apache.org/tomcat/tomcat-5.0-doc/printer/jasper-howto.html#Web%20Application%20Compilation; due to a lack of certain UNIX commands on the machine I'm running on (An iSeries server running a QShell interpreter in case you're interested). I get complaints about the which command and I am sure other commands are missing as well. So, I am attempting to compile all the JSPs using jspc directly. The archives are full of references to this but most come down to RTFM, Use this Ant script or compile to your working directory all of which I've either already tried, can't use, and don't want to use in a released product. I've successfully created .class files, copied them to the classes directory and integrated the generated ^^^ is wrong. WEB-INF/classes is not for compiled JSP/servlet classes. Tomcat places them in ${tomcat}/work/Catalina/localhost/${context name}. Please, read JSP/servlet specifications from Sun's site. BTW, why do you need those classes to be precompiled? -- Illya Kysil, software developer Delphi/C/C++/C#/Java/Forth/Assembler - No trees were harmed in the generation of this e-mail. A significant number of electrons were, however, severely inconvenienced. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JSP Compiling - painted in a corner?
Hello QM, Thank you very much for replying. Unfortunately the web.xml excerpt was a copy/paste. The full file is VERY large (4000 lines) so I won't post it here but I'll give you a larger sample. I did notice late yesterday that there are duplicate file names among the subdirectories so I definitely need to have the subdirectories included in the package statement. In order to do this I think I need to use the Ant build instead of calling jspc (or rather jspc.sh) directly, correct? I'll have to copy all the files off of the server and onto my PC to do this but I'm not to worried about that at this point. If I use the Ant method as described in the docs will it add the subdirectories to the package statement and create the web.xml fragment correctly by default or do I need to do something special to enable this? Here's a larger sample of what the non-Ant jspc.sh compile-attempt produced for the web.xml fragment (I did not use the -package option, obviously): !-- Automatically created by Tomcat JspC. Place this fragement in the web.xml before all icon, display-name, description, distributable, and context-param elements. -- servlet servlet-nameorg.apache.jsp.entry_jsp/servlet-name servlet-classorg.apache.jsp.entry_jsp/servlet-class /servlet servlet servlet-nameorg.apache.jsp.entry_process_jsp/servlet-name servlet-classorg.apache.jsp.entry_process_jsp/servlet-class /servlet servlet servlet-nameorg.apache.jsp.gso_jsp/servlet-name servlet-classorg.apache.jsp.gso_jsp/servlet-class /servlet . . // A BUNCH more servlet declarations here, then eventually... . servlet-mapping servlet-nameorg.apache.jsp.entry_jsp/servlet-name url-pattern/entry.jsp/url-pattern /servlet-mapping servlet-mapping servlet-nameorg.apache.jsp.entry_process_jsp/servlet-name url-pattern/entry_process.jsp/url-pattern /servlet-mapping servlet-mapping servlet-nameorg.apache.jsp.gso_jsp/servlet-name url-pattern/gso.jsp/url-pattern /servlet-mapping Jason --- QM [EMAIL PROTECTED] wrote: On Tue, May 25, 2004 at 09:12:58AM -0700, Jason Palmatier wrote: : Is having the subdirectories in the package : statement the crucial step I need to solve this? Sort of. =) As long as you can: 1/ produce unique .class file names for each compiled JSP (i.e. so /x/here.jsp and /y/here.jsp) and 2/ hold onto those names long enough to create the web.xml mappings then it should work. Using a JSP's directory path in the package name helps with the uniqueness constraint. The web.xml excerpt from your original message had some errors in it. Was that a direct copy/paste or did you hand-type it? That's probably the source of the problem, if the class files are correctly named/packaged and available to Tomcat. Please post the entire file. -QM -- software -- http://www.brandxdev.net tech news -- http://www.RoarNetworX.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JSP Compiling - painted in a corner?
Hello Filip, Thanks for the reply. I had checked your XML file out and thought about using it but was unsure if putting the .class files in the work directory was an okay thing to do for a released product. We may have customers installing our app into an existing Tomcat server environment and I'm not sure how they would get our app files into their work directory in that case. I'm used to the give them a war and let tomcat expand it deployment method. Is there a way to get tomcat to place files in the work directory when it expands a normal .war file? Jason --- Filip Hanik - Dev [EMAIL PROTECTED] wrote: you couldn't use this one either? http://cvs.apache.org/~fhanik/precompile.html. You can very easily translate my XML file into actual Java commands, hence it eliminates the need for ANT. It will take a little work. The neat thing with my script is that it requires no mapping in web.xml since it compiles into the tomcat work directory, where Jasper loads the classes from Filip - Original Message - From: Jason Palmatier [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, May 24, 2004 12:51 PM Subject: JSP Compiling - painted in a corner? Hello, I'm trying to precompile JSPs and have run into some trouble with the mappings. First off I CANNOT use the Ant build method as specified in http://jakarta.apache.org/tomcat/tomcat-5.0-doc/printer/jasper-howto.html#Web%20Application%20Compilation; due to a lack of certain UNIX commands on the machine I'm running on (An iSeries server running a QShell interpreter in case you're interested). I get complaints about the which command and I am sure other commands are missing as well. So, I am attempting to compile all the JSPs using jspc directly. The archives are full of references to this but most come down to RTFM, Use this Ant script or compile to your working directory all of which I've either already tried, can't use, and don't want to use in a released product. I've successfully created .class files, copied them to the classes directory and integrated the generated xml servlet mapping fragment into my web.xml. I received requested resource not found when I tried to access the first compiled page. I did some more research, noted that all my classes were part of the org.apache.jsp package and created an org/apache/jsp directory under my classes directory and copied all my classes over to it. I left the web.xml alone and restarted tomcat. I still ran into the requested resource not found error. I then tried modifying the web.xml servlet definitions and mappings to see if fully qualified class names were a problem. None of these attempts worked. So, my question is: If my class files are part of the org.apache.jsp package and exist in an org/apache/jsp directory rooted in my applications WEB-INF/classes directory shouldn't they be found if my web.xml defines the servlet and servlet mapping as below: servlet servlet-nameorg.apache.jsp.entry_jsp/servlet-name servlet-classorg.apache.jsp.entry_jsp/servlet-class /servlet . . . servlet-mapping servlet-nameorg.apache.jsp.entry_jsp/servlet-name url-pattern/entry.jsp/url-pattern /servlet-mapping I have a feeling the subdirectories my jsps exist in before they are compiled are the problem, as hinted at in a few archive posts, but am at a loss as to what to try next. Is there a way to get jspc to include these subdirectories in the package name? Does it even matter if they are? Any help or pointers on this would be greatly appreciated. Jason __ Do you Yahoo!? Yahoo! Domains - Claim yours for only $14.70/year http://smallbusiness.promotions.yahoo.com/offer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JSP Compiling - painted in a corner?
Okay, I've copied my files to my PC and attempted to run the Ant build using the build.xml given on the Tomcat 5.0 site. It runs for about 2 seconds and spits out this error: C:\apache-ant-1.6.1\bin\build.xml:21: java.lang.VerifyError: (class: org/apache/ xerces/jaxp/DocumentBuilderImpl, method: parse signature: (Lorg/xml/sax/InputSou rce;)Lorg/w3c/dom/Document;) Incompatible object argument for function call I did some searching on google and found out that there is some combination of jdk + xerces + Ant that causes this to go bad but the only solution I found was for a JUnit problem and it didn't seem to translate. I also searched the archives and found similar issues but with older versions of the respective products. Most fixes were of the upgrade to version x kind (which I'm already at). This is what I'm running with: Ant:1.6.1 JDK:1.4.2_03 Tomcat: 4.1.18 (5.0.19 gave the saem result, see below) I noticed in the Ant lib directory I have two jar files: xercesImpl.jar and xml-apis.jar and in the Tomcat common/endorsed directory I have xercesImpl.jar and xmlParserAPIs.jar The two xercesImpl.jar's are different sizes. Which of these (if either) is Ant complaining about? So far I've: 1) removed both jars from the common/endorsed dir but got the same result so I put them back. 2) Copied the jars from the common/endorsed directory to common/lib. Didn't work. 3) Replaced the jar in the Ant lib directory with those from the Tomcat common/endorsed dir. Didn't work. 4) Attempted to do the same thing in a Tomcat 5.0.19 install directory and got the same result. Any ideas or pointers to information? Jason __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
JSP Compiling - painted in a corner?
Hello, I'm trying to precompile JSPs and have run into some trouble with the mappings. First off I CANNOT use the Ant build method as specified in http://jakarta.apache.org/tomcat/tomcat-5.0-doc/printer/jasper-howto.html#Web%20Application%20Compilation; due to a lack of certain UNIX commands on the machine I'm running on (An iSeries server running a QShell interpreter in case you're interested). I get complaints about the which command and I am sure other commands are missing as well. So, I am attempting to compile all the JSPs using jspc directly. The archives are full of references to this but most come down to RTFM, Use this Ant script or compile to your working directory all of which I've either already tried, can't use, and don't want to use in a released product. I've successfully created .class files, copied them to the classes directory and integrated the generated xml servlet mapping fragment into my web.xml. I received requested resource not found when I tried to access the first compiled page. I did some more research, noted that all my classes were part of the org.apache.jsp package and created an org/apache/jsp directory under my classes directory and copied all my classes over to it. I left the web.xml alone and restarted tomcat. I still ran into the requested resource not found error. I then tried modifying the web.xml servlet definitions and mappings to see if fully qualified class names were a problem. None of these attempts worked. So, my question is: If my class files are part of the org.apache.jsp package and exist in an org/apache/jsp directory rooted in my applications WEB-INF/classes directory shouldn't they be found if my web.xml defines the servlet and servlet mapping as below: servlet servlet-nameorg.apache.jsp.entry_jsp/servlet-name servlet-classorg.apache.jsp.entry_jsp/servlet-class /servlet . . . servlet-mapping servlet-nameorg.apache.jsp.entry_jsp/servlet-name url-pattern/entry.jsp/url-pattern /servlet-mapping I have a feeling the subdirectories my jsps exist in before they are compiled are the problem, as hinted at in a few archive posts, but am at a loss as to what to try next. Is there a way to get jspc to include these subdirectories in the package name? Does it even matter if they are? Any help or pointers on this would be greatly appreciated. Jason __ Do you Yahoo!? Yahoo! Domains Claim yours for only $14.70/year http://smallbusiness.promotions.yahoo.com/offer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat with SSL
It looks like you are using WebSphere and may be getting tangled up in IBM's version of Sun's JSSE. I ran into a similar problem on an IBM iSeries server and posted my eventual soultion here: http://www-106.ibm.com/developerworks/forums/dw_thread.jsp?forum=178thread=26188message=2377519cat=10q=%22IBM+JSSE%22+%2B%22iSeries%22#2377519 (Let me know if the link doesn't work) If you are not on the iSeries then the important point of the initial part about the provider is to have the IBM provider com.ibm.jsse.IBMJSSEProvider in front of Sun's provider. The rest should apply without any change. Note the inclusion of algorithm=IbmX509 in the server.xml HTTPS connector tag. It's case sensitive which can be tricky. I hope this helps! Jason --- Hiemer, Bernhard [EMAIL PROTECTED] wrote: Thanks for your reply! I configured my server.xml like this: Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8443 minProcessors=5 maxProcessors=75 enableLookups=true acceptCount=10 debug=0 scheme=https secure=true useURIValidationHack=false Factory className=org.apache.coyote.tomcat4.CoyoteServerSocketFactory clientAuth=false protocol=TLS keystoreFile=C:\Programme\IBM\WebSphere Studio\Application Developer\v5.1\runtimes\base_v5\java\jre\lib\security\test keystorePass=changeit / /Connector But there are the same effects ... -Ursprüngliche Nachricht- Von: Bill Barker [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 22. April 2004 08:38 An: [EMAIL PROTECTED] Betreff: Re: Tomcat with SSL I believe that you can't use IBM's JSSE with the HttpConnector. You have to use the CoyoteConnector. Hiemer, Bernhard [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi Tomcat-Users, I found out, that my problem depends on the configuration of the security providers in the java.security file. (On my machine is installed jsse from IBM and Sun). If the configuration is security.provider.1=sun.security.provider.Sun security.provider.2=com.ibm.jsse.JSSEProvider security.provider.3=com.sun.net.ssl.internal.ssl.Provider I get the following Exception Catalina.start: LifecycleException: null.open: java.security.NoSuchAlgorithmException: Class com.ibm.jsse.ba configured for SSLContext not a SSLContext at com.sun.net.ssl.SunJSSE_b.a(DashoA6275) at com.sun.net.ssl.SSLContext.getInstance(DashoA6275) at org.apache.catalina.net.SSLServerSocketFactory.initProxy(SSLServerSocContext not a SSLContext at com.sun.net.ssl.SunJSSE_b.a(DashoA6275) at com.sun.net.ssl.SSLContext.getInstance(DashoA6275) ... In the other case, when the configuration-file looks like security.provider.1=sun.security.provider.Sun security.provider.2=com.sun.net.ssl.internal.ssl.Provider security.provider.3=com.ibm.jsse.JSSEProvider this error message occurs: java.lang.reflect.InvocationTargetException: java.lang.OutOfMemoryError The relevant part of the server.xml file is: Connector className=org.apache.catalina.connector.http.HttpConnector port=8443 minProcessors=5 maxProcessors=75 enableLookups=true acceptCount=10 debug=0 scheme=https secure=true useURIValidationHack=false Factory className=org.apache.catalina.net.SSLServerSocketFactory clientAuth=false protocol=TLS keystoreFile=C:\Programme\IBM\WebSphere Studio\Application Developer\v5.1\runtimes\base_v5\java\jre\lib\security\test keystorePass=changeit / /Connector In the first case it looks like the two different jsse implementations cause the problem. But how to configure it right? Can anyone give me any suggestions? Thanks Bernhard -Ursprüngliche Nachricht- Von: Hiemer, Bernhard Gesendet: Freitag, 16. April 2004 08:00 An: '[EMAIL PROTECTED]' Betreff: Tomcat with SSL Hi at all! I´m trying to configure my Tomcat-Standalone for SSL-Support. I use Win XP, JRE 1.3.1 and JSSE 1.0.3_02. The Tomcat-Versions I tried are 4.1.30 and 5.0.19. I worked along the HOW-TO on the Jakarta-Website: http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html BUT I receive the following error on startup of Tomcat: java.lang.reflect.InvocationTargetException: java.lang.OutOfMemoryError I have already tried the Options -Xmx512m -Xms128m to give the VM more memory. What´s to do now? Thanks in advance for each little help! Bernhard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Photos: High-quality 4x6 digital prints for 25¢ http://photos.yahoo.com/ph/print_splash
Changing java.security file values via command line?
Hello Everyone, I have successfully modified a java.security file to allow an SSL connection for a Tomcat server but now want to have those changes applied only for my Tomcat startup (i.e. not change the JVM's java.security file). I found some documentation that said you could provide your own security properties file via the command line using an option like this: Djava.security.policy==$CATALINA_HOME/conf/my_app.security But after trying it out and doing some more reading it looks like this only allows you to change the access rights and security settings for your java components, not the JVM's configuration itself. So then I tried specifying the values I wanted changed via my CATALINA_OPTS in startup.sh like so: export -s CATALINA_OPTS=-Dsecurity.provider.1=sun.security.provider.Sun -Dsecurity.provider.2=com.ibm.crypto.provider.IBMJCE . . . -Dkeystore.type=JKS -Dssl.KeyManagerFactory.algorithm=IbmX509 -Dssl.TrustManagerFactory.algorithm=IbmX509 -Dssl.SocketFactory.provider=com.ibm.jsse.JSSESocketFactory -Dssl.ServerSocketFactory.provider=com.ibm.jsse.JSSEServerSocketFactory But that doesn't seem to work (I wasn't too surprised at this). I posted this same question on Sun's Java JSSE forum earlier today but that seems rather dead and I haven't seen a reply yet. I would think this would be a relatively normal thing to want to do as most people wouldn't want their defualt java.security file messed with just for one application. Is there a way to specify these values via the command line rather than changing the users java.security file? Any help or pointers to information would be great. Thanks, Jason __ Do you Yahoo!? Yahoo! Tax Center - File online by April 15th http://taxes.yahoo.com/filing.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Getting basic Logging up and running
Thank you very much Yoav! I actually ended up just adding the following lines to startup.sh instead of creating the configuration file commons-logging.properties : export -s CATALINA_OPTS=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.defaultlog=debug That produced an extensive log and gave me the Socket information I needed. That was easy. Thanks again! Jason --- Shapira, Yoav [EMAIL PROTECTED] wrote: Hi, I tried the debug=99 and got the same results as OK. That was worth a try, but the result is not too surprising, since much of tomcat's logging is done via commons-logging now, and the debug level setting has little or no effect. Global Logger all I should need for all my logging or do I need to define a logger at each level (connector, valve, etc.)? I wouldn't think I would according to the documentation, The global Logger is inherited, so you don't need to define additional ones. take any chances. I also noticed that I don't have any of the commons-logging jars in my server/lib directory but most posts seemed to say I won't need it if I'm content with log4j. Is this true, or do I need both? Any help would be greatly appreciated and save my last remaining hairs. You have commons-logging in $CATALINA_HOME/bin as it's part of the launch classpath, even before the server/lib classes. When people say you don't need commons-logging if you're content with log4j, they are talking about your own webapp's logging. And they're right. If you want to adjust tomcat's internal logging however, as in this case, then you do need to modify the commons-logging settings. What you need to do is create a commons-logging configuration file. In it specify DEBUG-level logging for the org.apache.catalina packages. Put this file in $CATALINA_HOME/common/classes and tomcat will load it automatically. You will then get additional debug information. The file must be called commons-logging.properties I think. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Getting basic Logging up and running
Hi Yoav, I tried the debug=99 and got the same results as before. Are the steps I outlined the ones people usually use to get logging? Most posts seem to indicate that turning on logging is a no-brainer so I feel like I must be doing something dumb. Is the Global Logger all I should need for all my logging or do I need to define a logger at each level (connector, valve, etc.)? I wouldn't think I would according to the documentation, but at this point I'm not going to take any chances. I also noticed that I don't have any of the commons-logging jars in my server/lib directory but most posts seemed to say I won't need it if I'm content with log4j. Is this true, or do I need both? Any help would be greatly appreciated and save my last remaining hairs. Thanks, Jason --- Shapira, Yoav [EMAIL PROTECTED] wrote: Hi, Try debug=99 perhaps. Yoav Shapira Millennium Research Informatics -Original Message- From: Jason Palmatier [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 07, 2004 5:27 PM To: [EMAIL PROTECTED] Subject: Getting basic Logging up and running Hi, I've been trying to get basic logging up and running so I can diagnose an SSL connection problem. I've searched the archive and google for a full day and picked up bits and pieces, which I cobbled together, but still can't seem to get any more output then the initial startup (i.e. output up to and including the INFO: Server startup in xx ms in catalina.out) message. I'm using tomcat 5.0.19 and running on an iSeries at v5r2. Here are the changes I've made so far: In server.xml I added: - debug=10 wherever debug=0 appears in the file - verbosityLevel=4 wherever a Logger or Valve tag is defined - Otherwise server.xml is just the default with an HTTPS connector uncommented and spiffed up with keystore and keypassword attributes. In catalina.sh (it runs as if on Unix when run on an iSeries) I added -Djavax.net.debug=ssl to JAVA_OPTS. Here's what my Global Logger tag looks like in server.xml: !-- Global logger unless overridden at lower levels -- Logger className=org.apache.catalina.logger.FileLogger verbosityLevel=4 prefix=catalina_log. suffix=.txt timestamp=true/ I get a catalina_out.timestamp.txt file but it only contains 2004-04-07 21:23:56 EngineConfig: EngineConfig: Processing START 2004-04-07 21:43:04 EngineConfig: EngineConfig: Processing STOP 2004-04-07 21:46:00 EngineConfig: EngineConfig: Processing START I would like to get as much debug information as possible so I can see the complete initialization of the Tomcat server and any attempted connects (SSL and non-SSL). Ultimately I would like to see detailed SSL trace, hence the use of the -Djavax.net.debug=ssl command line option. I know this shouldn't be very hard but I can't seem to get the output I want. Anyone have an idea what I am doing wrong? __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Getting basic Logging up and running
Hi, I've been trying to get basic logging up and running so I can diagnose an SSL connection problem. I've searched the archive and google for a full day and picked up bits and pieces, which I cobbled together, but still can't seem to get any more output then the initial startup (i.e. output up to and including the INFO: Server startup in xx ms in catalina.out) message. I'm using tomcat 5.0.19 and running on an iSeries at v5r2. Here are the changes I've made so far: In server.xml I added: - debug=10 wherever debug=0 appears in the file - verbosityLevel=4 wherever a Logger or Valve tag is defined - Otherwise server.xml is just the default with an HTTPS connector uncommented and spiffed up with keystore and keypassword attributes. In catalina.sh (it runs as if on Unix when run on an iSeries) I added -Djavax.net.debug=ssl to JAVA_OPTS. Here's what my Global Logger tag looks like in server.xml: !-- Global logger unless overridden at lower levels -- Logger className=org.apache.catalina.logger.FileLogger verbosityLevel=4 prefix=catalina_log. suffix=.txt timestamp=true/ I get a catalina_out.timestamp.txt file but it only contains 2004-04-07 21:23:56 EngineConfig: EngineConfig: Processing START 2004-04-07 21:43:04 EngineConfig: EngineConfig: Processing STOP 2004-04-07 21:46:00 EngineConfig: EngineConfig: Processing START I would like to get as much debug information as possible so I can see the complete initialization of the Tomcat server and any attempted connects (SSL and non-SSL). Ultimately I would like to see detailed SSL trace, hence the use of the -Djavax.net.debug=ssl command line option. I know this shouldn't be very hard but I can't seem to get the output I want. Anyone have an idea what I am doing wrong? __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]