Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。

Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块)。不过,Tomcat是自由的开源软件,而且有许多高手致力于其发展。

在安装Tomcat之前需要安装j2sdk(Java 2 Software Development Kit),也就是JDK

◆1、安装JDK的步骤如下:

1)下载j2sdk ,如jdk-6u1-linux-i586-rpm.bin

2)在终端中转到jdk-6u1-linux-i586-rpm.bin所在的目录,输入命令

#chmod +755 jdk-6u1-linux-i586-rpm.bin;//添加执行的权限。

3)执行命令

#./jdk-6u1-linux-i586-rpm.bin;//生成jdk-6u1-linux-i586.rpm的文件。

4)执行命令

#chmod +755 jdk-6u1-linux-i586.rpm;//给jdk-6u1-linux-i586.rpm添加执行的权限。

5)执行命令

#rpm –ivh jdk-6u1-linux-i586.rpm ; //安装jdk。

6)安装界面会出现授权协议,按Enter键接受,把jdk安装在/usr/java/jdk1.6.0_01。

7)设置环境变量,在 /etc/profile中加入如下内容(可以使用vi进行编辑profile):

JAVA_HOME=/usr/java/jdk1.6.0_01
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

8)在终端执行命令java –version,jdk的版本为jdk1.6.0_01则表示jdk已成功安装。

◆2、安装Tomcat

1)下载apache-tomcat-6.0.10.tar.gz

2)#tar -zxvf apache-tomcat-6.0.10.tar.gz ;//解压

3)#cp -R apache-tomcat-6.0.10 /usr/local/tomcat ;//拷贝apache-tomcat-6.0.10到/usr/local/下并重命名为tomcat

4) /usr/local/tomcat/bin/startup.sh; //启动tomcat

显示 Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TEMDIR: /usr/local/tomcat/temp

Using JAVA_HOME: /usr/java/jdk1.6.0_01

到此tomcat已经安装完成,现在使用浏览器访问 http://localhost:8080,出现tomcat默认页面,说明已经安装成功。


一、静态部署

1 、直接将web 项目文件件拷贝到webapps 目录中

     Tomcat 的Webapps 目录是Tomcat 默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP 程序打包成一个war 包放在目录下,服务器会自动解开这个war 包,并在这个目录下生成一个同名的文件夹。一个war 包就是有特性格式的jar 包,它是将一个web 程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE 环境,如Eclipse 等。也可以用cmd 命令:jar -cvf mywar.war  myweb

     webapps 这个默认的应用目录也是可以改变。打开Tomcat 的conf 目录下的server.xml 文件,找到下面内容:

<Host name="localhost" appBase="webapps"

       unpackWARs="true" autoDeploy="true"

       xmlValidation="false" xmlNamespaceAware="false">

将appBase 修改即可。

2 、在server.xml 中指定

     在Tomcat 的配置文件中,一个Web 应用就是一个特定的Context ,可以通过在server.xml 中新建Context 里部署一个JSP 应用程序。打开server.xml 文件,在Host 标签内建一个Context ,内容如下。

在tomcat 中的conf 目录中,在server.xml 中的,<host/> 节点中添加:

<Context path ="/hello" docBase ="D:/ workspace/hello/WebRoot" debug ="0" privileged ="true">

</Context>

或者

<Context path ="/myapp" reloadable ="true" docBase ="D:/myapp" workDir ="D:/myapp/work"/>

或者

<Context path ="/sms4" docBase ="D:/workspace/sms4/WebRoot"/>

说明:

path 是虚拟路径;

docBase 是应用程序的物理路径;

workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

debug 则是设定debug level,  0 表示提供最少的信息,9 表示提供最多的信息;

privileged 设置为true 的时候,才允许Tomcat 的Web 应用使用容器内的Servlet;

reloadable 如果为true ,则tomcat 会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes 目录的变化,自动装载新的应用程序,可以在不重起tomcat 的情况下改变应用程序,实现热部署;

antiResourceLocking 和antiJARLocking   热部署是需要配置的参数,默认false 避免 更新了某个webapp ,有时候Tomcat 并不能把旧的webapp 完全删除,通常会留下WEB-INF/lib 下的某个jar 包,必须关闭Tomcat 才能删除,这就导致自动部署失败。设置为true ,Tomcat 在运行对应的webapp 时,会把相应的源文件和jar 文件复制到一个临时目录里。

3 、创建一个Context 文件

   在conf 目录中,新建Catalina \localhost 目录,在该目录中新建一个xml 文件,名字不可以随意取,要和path 后的那个名字一致,按照下边这个path 的配置,xml 的名字应该就应该是hello (hello.xml ),该xml 文件的内容为:

<Context path="/hello" docBase="E:/workspace/hello/WebRoot" debug="0" privileged="true"></Context>

tomcat 自带例子如下:

<Context docBase="${catalina.home}/server/webapps/host-manager"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

</Context>

这个例子是tomcat 自带的,编辑的内容实际上和第二种方式是一样的,其中这xml 文件名字就是访问路径,这样可以隐藏应用的真实名字。

4 、注意:

     删除一个Web 应用同时也要删除webapps 下相应的文件夹和server.xml 中相应的Context ,还要将Tomcat 的conf/catalina/localhost 目录下相应的xml 文件删除,否则Tomcat 仍会去配置并加载。。。

 

二 动态部署

     登陆tomcat 管理控制台:http://localhost:8080,输入用户名和密码后便可管理应用并动态发布。

     在Context Path(option): 中输入/yourwebname ,这代表你的应用的访问地址。

     XML Configration file URL 中要指定一个xml 文件,比如我们在F:/ 下建立一个hmcx.xml 文件,内容如下:<Context reloadable="false" /> 其中docBase 不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL: 中键入F:/hmcx 即可,然后点击Deploy 按钮,上面就可以看到了web 应用程序,名字就Context Path(option): 中的名字。

    如果部署.war 文件还有更加简单的方式,下面还有个Select WAR file uploae 点击浏览选择.war 文件,然后点击Deploy 也可以。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐