工具使用之Tomcat

摘要:Tomcat的获取和安装 点击打开链接,注意兼容问题 Tomcat的运行环境搭建。     解压即可使用              Tomcat的启动是一个bat文件,在bin目录下。双击即可。     如果控制台出来一下立即消失,说明Tomcat没有找到Java的运行时环境。       检查是否安装JDK以及环境变量是否配置成功。   Tomcat的目录结构介绍。        ....

Tomcat的获取和安装 点击打开链接,注意兼容问题

002UASMrzy7605pjKJv15&690.jpg

 

Tomcat的运行环境搭建。

    解压即可使用

Tomcat的启动是一个bat文件,在bin目录下。双击即可。

    如果控制台出来一下立即消失,说明Tomcat没有找到Java的运行时环境。

   检查是否安装JDK以及环境变量是否配置成功。

 

Tomcat的目录结构介绍。

     

 bin目录存放一些启动运行Tomcat的可执行程序和相关内容。

 conf存放关于Tomcat服务器的全局配置。

 lib目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。

 wabapps目录是默认的站点根目录,可以更改。

 work目录用于在服务器运行时缓存资源,或者说,存储jsp、servlet翻译、编译后的结果。

 /logs:这是默认的日志目录,其中控制台打印出的内容,都会保存在catalina.log中。

web项目的目录结构

在tomcat中所有的应用都是放置在CATALINA_HOME/webapps下,其中CATALINA_HOME对应的是你的tomcat的根目录。

由于Servlet2.2之后的版本规范规定,tomcat中应用的目录结构都要满足固定的格式,这样便于规范一致性。

放置在webapps下的文件通常是两种格式:一种压缩好的项目文件,比如war包!一种是正常的文件夹。如果是war包这种项目文件,tomcat会在启动后自动的把它解压缩到当前目录,变成可访问的文件夹。

目录结构包括如下:

/apps |------/WEB-INF |------/classes编译的字节码文件 |------/lib需要的类库,jar包 ------web.xml |------/META-INF ------context.xml ------普通前端页面,jsp等等

基本的内容细节也如上面描述的一样。

其中重点是web.xml文件,这个文件也叫做部署描述符,用于配置web应用的相关信息。

 

  

更改Tomcat默认配置。 (1)、修改Tomcat监听端口。

       在%TOMCAT_HOME%(以下代指Tomcat的安装路径)下的conf目录下的server.xml文件中修改。

<Connectorport="8080"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

 

   

(2)、修改默认页面。

      在上面,我们还算是中规中矩,按照常理出牌,写了index.html。那么如果没有写呢?Tomcat会怎么做呢?

      请大家找到conf/web.xml。这个文件是对所有站点的共同属性做出了设置。比如大家看文件结尾处:

<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>

 

不建议在这里改,会是所有站点设置变化,你应该将其复制到你需要改动的站点下的web.xml,进行设置。

(3)、修改tomcat输入(127.0.0.1:8080)默认打开程序

把自己的项目修改为ROOT,把原ROOT删除或重命名。

 

虚拟主机的配置。

      所谓虚拟主机,就是将一个或多个主机名(域名)和Tomcat所在的服务器进行绑定。由于一个IP可以和多个域名进行帮定,我们大可以将不同的域名指向服务器(指硬件)上的不同文件夹,造成一个服务器(或者一个IP)多个主机的“虚拟主机”效果。

      这个实现起来相当的简单。只需要在server.xml文件中新建Host节点,将其属性进行不同设置即可。

1#你的主机名(域名)1 2<Hostname="localhost"appBase="webapps" 3unpackWARs="true"autoDeploy="true" 4xmlValidation="false"xmlNamespaceAware="false"> 5</Host> 6#你的域名2 7<Hostname="www.coderecord.org"appBase="主机空间地址" 8unpackWARs="true"autoDeploy="true" 9xmlValidation="false"xmlNamespaceAware="false"> 10#域名3可以和域名2共用一个主机空间 11<Alias>coderecord.org</Alias> 12<Contextpath=""docBase="站点地址"debug="1"reloadable="true"allowLinking="true"/> 13</Host> tomcat版本与jdk对应关系 Servlet规范 JSP规范 EL规范 WebSocket规范 ApacheTomcat版本 实际发布的修订版本 支持的Java版本 3.1 2.3 3.0 1.0 8.0.x 8.0.8(beta) 7及以上版本 3.0 2.2 2.2 1.0 7.0.x 7.0.54 6及以上版本
(WebSocket1.0必需7或以上版本) 2.5 2.1 2.1 N/A 6.0.x 6.0.41 5及以上版本 2.4 2.0 N/A N/A 5.5.x(archived) 5.5.36(archived) 1.4及以上版本 2.3 1.2 N/A N/A 4.1.x(archived) 4.1.40(archived) 1.3及以上版本 2.2 1.1 N/A N/A 3.3.x(archived) 3.3.2(archived) 1.1及以上版本

 

Tomcatmanager管理器

 

Tomcatmanager用来管理发布的web程序。下面为其简单使用

1打开tomcat首页,找到Managerapp入口

 

2点击打开出现下面界面,点击取消

 

3取消后出现下面界面

 

5按照提示,,复制下面文本到conf/tomcat-users.xml,并修改username以及password

<rolerolename="manager-gui"/> <userusername="tomcat"password="s3cret"roles="manager-gui"/>


6重启服务器

 

Tomcat部署web程序

在Tomcat中有四种部署Web应用的方式

(1)利用Tomcat自动部署

(2)利用控制台进行部署

(3)增加自定义的web部署文件(%Tomcat_Home%confCatalinalocalhostAppName.xml)

(4)手动修改%Tomcat_Home%confserver.xml文件来部署web应用

 

第一种方式:利用Tomcat自动部署

只要将一个web应用的WebContent级的AppName直接扔进webapps文件夹下,系统会直接部署到Tomcat。但是要注意符合Tomcat要求的web目录结构。

/apps |------/WEB-INF |------/classes编译的字节码文件 |------/lib需要的类库,jar包 ------web.xml |------/META-INF ------context.xml ------普通前端页面,jsp等等

 

第二种方式:利用控制台进行部署

进入Tomcat的manager控制台,在Contextpath中键入“XXX”(可任意取名),在WarorDirectoryURL键入项目WebContent的路径。

 

第三种方式:增加自定义的Web部署文件

若一个web应用结构为D:workspaceWebAppAppNameWEB-INF*,这种部署方式稍微复杂一点,我们需要在%Tomcat_Home%conf路径下新建一个文件夹catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%confCatalinalocalhostweb应用配置文件.xml,该文件就是部署Web应用的配置文件。例如,我们新建一个%Tomcat_Home%confCatalinalocalhostXXX.xml,该文件的内容如下:

 

<Contextpath="/XXX"reloadable="true"docBase="D:workspaceWebAppAppName"workDir="D:workspaceWebAppwork"/>

 

(1)以上代码中的workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果使用的Eclipse作为IDE,一般可人为设置在WebApp的work目录下。

如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%workCatalinalocalhost路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到)

(2)Contextpath即指定web应用的虚拟路径名。docBase指定要部署的Web应用的源路径。

第四种方式:修改servlet.xml文件来部署

 

在<Host>和</host>之间加上如下代码:

<Contextpath="/虚拟目录名"docBase="目标目录位置"debug="0"reloadable="true"> </Context>

(严格区分大小写,当path=""时,此时的虚拟目录直接为root--->http://localhost:8080/)
参数:

path:表示在浏览器中输入http://localhost:8080/虚拟目录名

docBase:表示你的程序包的物理绝对路径,默认的绝对路径是%tomcat_home%/webapps

reloadable:为true,则tomcat会自动检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序;为false则不自动加载。

解决8080端口被占用

netstat-ano|findstr8080 taskkill-pid进程pid-f