JQKA
发贴: 7
|
于 2006-06-04 22:38
我是一名普通的JSP初学者,把我的学习心得写下来,希望能对初学者有所帮助。在学习的过程中遇到的第一个问题就是配置JSP的运行环境。在查找过若干资料之后我从官方网站下载了最新版的tomcat5.5.17的zip版。JDK下载了J2SDK1.4.2_11。运行环境Windows Xp Professional sp2环境变量具体设置如下: JAVA_HOME: D:\j2sdk1.4.2_11 PATH: D:\j2sdk1.4.2_11\bin; CLASS_PATH: .;D:\j2sdk1.4.2_11\lib\dt.jar;D:\j2sdk1.4.2_11\lib\tools.jar; CATALINA_HOME: D:\tomcat5.5 其中tomcat5.5为apache-tomcat-5.5.17.zip解压缩后重新命名的文件夹。首先要说明的是我的上述设置是失败的,并没有打开http://localhost:8080 具体的原因我会在后面为大家分析。 值得一提的是在学习设置的过程中我头脑里曾经产生过很多疑惑,比如exe和zip的tomcat到底有什么不同?为什么有的书介绍设置tomcat环境变量是采用的是TOMCAT_HOME,而有的书却写是CATALINA_HOME,而有的书却对tomcat的环境变量设置只字未提?一定有很多人曾经和我有过相同的疑惑。 要解决这些问题要从tomcat的启动开始分析: 首先说明在tomcat4以前确实是用TOMCAT_HOME来设置环境变量,在tomcat4以后采用了新的servlet容器catalina,所以环境变量也改为了CATALINA_HOME。 而为什么有的书没有提到设置tomcat环境变量呢?用文本编辑器打开tomcat的批处理文件startup.bat,可以发现首先判断CATALINA_HOME环境变量是否为空,如果为空就将当前目录设为CATALINA_HOME的值,接着判断当前目录下是否存在bin\catalina.bat如果不存在,就将当前目录的父目录设为CATALINA_HOME的值。可见在调用startup.bat命令时,tomcat会自动设置CATALINA_HOME,这就是为什么有的书没有介绍设置tomcat环境变量的原因。 如果环境变量CATALINA_HOME已经存在则通过这个环境变量调用bin目录下的“catalina.bat start”命令。由此可见执行startup.bak命令实际上执行的是“catalina.bat start”命令。 在了解了startup.bat文件的作用后我们也要了解一下真正负责启动tomcat服务器的catalina.bat文件。通过分析,他还调用了setclasspath.bat,在setclasspath.bat文件中它检查了java_home环境变量是否存在,并通过设置的环境变量java_home找到java.exe用与启动tomcat。在执行了setclasspath.bat后,catalina.bat就开始了tomcat服务器的启动进程。 另外catalina.bat run很有用,如果直接运行startup.bat那么显示的信息会一闪而过,不知道问题出在哪里,而catalina.bat run在遇到错误时仅仅是tomcat服务器异常终止,但却可以保留出错信息。 例如按照先前提到的环境变量设置我在MSDOS环境下运行catalina.bat run出现以下错误信息: Using CATALINA_BASE: D:\tomcat5.5 Using CATALINA_HOME: D:\tomcat5.5 Using CATALINA_TMPDIR: D:\tomcat5.5\temp Using JRE_HOME: D:\j2sdk1.4.2_11
This release of Apache Tomcat was Packaged to run on J2se5.0 or later. It can be run on earlier JVMS by downloading and installing a compatibility package from the Apache Tomcat binary download page. 大意是我的tomcat5.5.17适应在j2se5.0环境下运行,就是说我的JDK和我的tomcat不匹配,需要重新下载。原来问题出在这里,知道问题的来龙去脉也就有了解决方案。在tomcat的网站上下载tomcat5.0.28版本重新解压缩,设置环境变量如下: JAVA_HOME:D:\j2sdk1.4.2_11 PATH:D:\j2sdk1.4.2_11\bin; CLASS_PATH:.;D:\j2sdk1.4.2_11\lib\dt.jar;D:\j2sdk1.4.2_11\lib\tools.jar; CATALINA_HOME: D:\tomcat5 重新启动tomcat运行startup.bak,建议在启动或关闭tomcat的时候在MSDOS下应用catalina.bat run可以清楚的看到环境变量的设置情况。在浏览器中输入http://localhost:8080 tomcat欢迎界面出现,问题解决。 如果问题仍然存在需要检查本机的8080端口是否被占用,方法可以通过编辑tomcat目录下conf子目录下的server.xml文件查找8080端口改为自己想要的端口,通常选1024以上,因为1024以下大部分为well-known port在固定的使用中。 如果问题仍然没有得到解决,请重新启动您的计算机。 通过实际应用笔者认为,exe版和zip版的tomcat无本质上的区别。 (Tips:在windows环境下设置环境变量的名字与大小写是无关的,也就是说JAVA_HOME和java_home是相同的;另外在CALSSPATH的设定中是以 .;开头的中间用;间隔,不要任意加空格;在出错以后一定要查看错误信息,以便找到解决问题的途径。)
|