JavaWeb学习 第1章 Web开发工具配置和使用(下)Tomcat的配置

注:还有一点问题,这个版本的 context.xml 文件怎么都无法修改,它说文件是只读的,但是属性中并非如此,所以,对于该文件的那个

raloadable="true" ,没有进行修改

PS:点击 Tomcat 文件夹下 的 startup.bat 是启动 Tomcat 服务器的一种方式,但是要注意命令提示符中显示的信息,它可能说出了什么错误,而且很严重,

但是它并没有影响我们打开 欢迎界面,这种情况下并不能将问题忽略,例如我刚开始的那个版本就要很多问题,但是没什么影响,而且看视频,那个老师好像也有问题,

所以就导致了这么多悲剧啊!

以下是问题解决过程中找到的一些还蛮有用的文章,留着以后方便解决问题,呵呵呵

相关内容的引文

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

引用地址:http://blog.csdn.net/xttgx/archive/2009/11/15/4813044.aspx   CSDN博客

关于tomcat启动后马上又自动关闭的问题

今天费了一点时间找我tomcat在myeclipse里面能启动,而我直接点击tomcat文件夹里面的tomcat5.exe或satartup.bat却无法启动的原因。

     从tomcat日志里面看到的错误是:[2009-11-15 16:02:05] [924  prunsrv.c] [error] Failed creating java ;

[2009-11-15 16:02:05] [1179 prunsrv.c] [error] ServiceStart returned 1。把这两句话剪贴出来Google,答案是说要把一个什么

mvcr71.ddl文件放到windows的system32里面,我把所说的文件下下来,然后复制进去,提示里面有这个文件,而且修改日期我这个更新,于是我放弃了复制.

      有人说是jdk的原因,myeclipse能启动是因为myeclipse用的是自带的jre,jdk的jre可能有问题,我试着备份了jdk里面的jre文件,

然后把myeclipse的jre文件复制覆盖了jdk里面的jre,运行tomcat的startup还是不行。

     于是乎,再看看另外的留言,借来一点灵感:dos--cmd--d:--cd tomcat/bin--startup.bat,回车之后出现这样的提示:
        Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 
        At least one of these environment variable is needed to run this program

       带着这两个问题Google,得到了一条有用的消息:JAVA_HOME 是特殊的变量.大多数情况是不需要的,但是如果你装一些服务器软件或者开发工具,比如tomcat或者ant等等,就需要了。

       于是乎,我配置了一下JAVA_HOME的环境变量,结果再运行startup.bat,yeah!ok!

        在此附上jdk的环境变量配置方法:

变量名JAVA_HOME 赋值“<JDK安装路径目录>”,如我的是“C:\JDK;”;
        变量名CLASSPATH  赋值“.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;”;
          (*注意,%JAVA_HOME%可以由<JDK安装路径目录>替换。其实%JAVA_HOME%就是上面的变量。)
        变量PATH赋值“%JAVA_HOME%\bin;”;

例如: 这是jdk的位置:D:\jdk1.5.0 
            配置环境变量: 
           JAVA_HOME:   D:\jdk1.5.0 
           PATH:   D:\jdk1.5.0\bin; 
           CLASSPATH:   .;D:\jdk1.5.0\lib\tools.jar;

看了之后,我修改了我的 Java 环境,但还是没有成功! 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

引文地址:http://www.oelandau.com/viewnews-5648

问题如下:
安装上tomcat后,启动可以成功,Welcome页面可以进入,之后关闭tomcat,在MyEclipse->service中配置好tomcat后可以启动,

再启动电脑上的tomcat就会遇见启动后自动关闭的问题了。
解决措施如下:
MyEclipse->service启动tomcat后查看端口就会发现javaw会占用8080,8005,8009端口,以至于tomcat默认的端口全都被占用,

电脑上的tomcat就无法启用了,处理措施就是把tomcat安装文件下conf中的server.xml中的端口8080,8005,8009全都改掉(如改为8006,8007,8008),

这样子启动tomcat问题就解决了,查看端口8080,8005,8009,8006,8007,8008都处于listening状态,全无关tomcat与jdk版本冲突问题,

之前用MyEclipse7.0时并没有遇见此问题,此次用MyEclipse8.5,MyEclipse6.0都遇见此问题了,记于此处以备后用!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

引文地址:http://blog.csdn.net/hansoft/archive/2006/04/01/647060.aspx   CSDN 博客

运行多个tomcat实例两法

如果需要把一个alpha版的web应用部署到一台机器上的tomcat中作测试,而这台机器上的tomcat同时还运行着其他的一些比较重要的web应用,你会怎么做?

显然不能简单地把它和重要的web应用放在一起,那样的话alpha版应用的崩溃会同时使其他应用也不能工作,因为它们是运行在同一个JVM上的。

这时应该安装另外一份tomcat,使alpha版的应用在该tomcat里运行,这时需要修改conf/server.xml使两个tomcat占用的端口不相同

在缺省配置的情况下,tomcat使用了三个端口

  • shutdown端口: <Server port="8005" shutdown="SHUTDOWN">
  • http端口:<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
  • AJP端口:<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

这样,不仅两个tomcat里的应用不会互相影响,而且两个tomcat程序也可以分别升级。但是如果我们希望两组web应用分别运行在不同的JVM上,

但是使用的tomcat版本又必须一致,这种方法就稍显麻烦,因为如果要升级tomcat版本就必须同时升级两个。其实tomcat是可以在一个程序版本上运行多个instance的:

tomcat有个环境变量CATALINA_BASE,用来指定一个目录,tomcat是依据该目录的内容来实现大部分的启动工作的,包括我们最关心的web app的加载,该目录由conf,logs,shared,webapps,work,temp子目录组成。这样,为每个instance新建一个目录,配置好其内容(注意同样要修改server.xml使端口不一样),

然后在启动每个instance时使CATALLINA_BASE指向该instance对应的目录,就能实现启动多个instance的目的。可以在instance对应的目录下写一个startup.bat来完成

该instance的启动工作,该脚本使用脚本所在的目录作为CATALINA_BASE,可以在从任何目录下运行,并且保留了tomcat启动脚本的参数: 

@echo off   set CMD_LINE_ARGS=   :setArgs   if ""%1""=="""" goto doneSetArgs   set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 

shift   goto setArgs   :doneSetArgs      set EXECUTABLE=%CATALINA_HOME%\bin\startup.bat   set CATALINA_BASE=%~dp0  

call "EXECUTABLE" %CMD_LINE_ARGS%

 
  

是个高手写的,写的很好,可是就是看不懂啊,简单地说就是改端口号,下面就清楚了

-------------------------------------------------------------------------------------------------------------------------------------------------------------------
引文地址:http://blog.csdn.net/jiaxy917/archive/2008/10/15/3075713.aspx    CSDN博客

两个tomcat都用的是zip文件

安装第二个Tomcat完成后,到安装目录下的conf子目录中打开server.xml文件,查找以下三处:

(1) 修改http访问端口(默认为8080端口)          <Connector  className="org.apache.coyote.tomcat4.CoyoteConnector"    port="8080" 
                                minProcessors="5"    maxProcessors="75" 
                                enableLookups="true"    redirectPort="8443" 
                                acceptCount="100"    debug="0"    connectionTimeout="20000" 
                                useURIValidationHack="false"    disableUploadTimeout="true"  />
(大概在86行左右)将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是以后访问web时所用的端口号。
(2) 修改Shutdown端口(默认为8005端口)    <Server port="8005" shutdown="SHUTDOWN" debug="0">
(大概在13行左右)将8005修改为没有在使用的端口号,例如8095   
(3) 修改JVM启动端口(默认为8009端口)            < Connector className ="org.apache.coyote.tomcat4.CoyoteConnector"   
                                port ="8009"    minProcessors ="5"    maxProcessors ="75"   
                                enableLookups ="true"    redirectPort ="8443"   
                                acceptCount ="10"    debug ="0"    connectionTimeout ="20000" 
                                useURIValidationHack ="false"   
                                protocolHandlerClassName ="org.apache.jk.server.JkCoyoteHandler" />
(大概在107行左右)将8009修改为没有在使用的端口号,例如8099

你可能感兴趣的:(javaweb)