Tomcat ﹏ヽ暗。殇╰゛Y 2022-07-12 04:50 34阅读 0赞 Web资源开发完毕后需要发布在Web服务器上才能被外界访问。在小型的应用系统或者有特殊需要的系统中,可以使用免费的Web服务器—Tomcat,该服务器支持JSP以及Servlet规范,其源代码是公开的,不仅可以和目前大部分主流的Web服务器一起工作,还可以作为独立的Web服务器软件。 # Tomcat的安装和启动 # 这里我安装的是Tomcat7.0,在安装Tomcat之前需要安装JDK,运行Tomcat7.0建议使用JDK7.0版本。关于JDK的安装可查看[JDK的下载安装及其相关配置][JDK](环境变量名一定要配置为JAVA\_HOME,Tomcat服务器是由Java语言开发的,它在运行时需要根据JAVA\_HOME或JRE\_HOME环境变量来获得JRE的安装位置,从而利用Java虚拟机来运行Tomcat) 进入Tomcat的官方网站[http://tomcat.apache.org][http_tomcat.apache.org],Download–>Tomcat7,往下翻找到 ![这里写图片描述][SouthEast] 建议用绿色版本,解压就可以用,不用安装。apache-tomcat-7.0.75-windows-x86.zip这是下载完之后的文件。直接解压到指定目录即可(目录不要太深,目录不要有中文和空格),我解压到了D:\\Java。若要卸载,直接把文件删了就行了。 在这个页面还可以看到一个Source Code Distributions,下载下来的文件为apache-tomcat-7.0.75-src.zip,里边是Tomcat的源码。以后会用到。 * bin:用于存放Tomcat的可执行文件和脚本文件 * **conf:用于存放Tomcat服务器的各种配置文件** * lib:用于存放Tomcat服务器和所有Web应用程序需要访问的JAR文件 * logs:用于存放Tomcat的日志文件 * temp:用于存放Tomcat运行时产生的临时文件 * **webapps:Web应用程序的主要发布目录,通常将要发布的应用程序放到这个目录。** * work:Tomcat的工作目录,JSP编译生成的Servlet源文件和字节码文件放到这个目录下。 在bin子目录下,存放了许多脚本文件,startup.bat就是启动Tomcat的脚本文件(startup.sh是Linux系统下的启动项),双击startup.bat文件,便会启动Tomcat服务器,此时,可以在命令行看到一些启动信息。Tomcat服务器启动后,在浏览器的地址栏中输入[http://localhost:8080][http_localhost_8080]或者[http://127.0.0.1:8080][http_127.0.0.1_8080](localhost和127.0.0.1都表示本地计算机)访问Tomcat服务器,如果显示如下界面,则说明Tomcat服务器安装成功。 ![这里写图片描述][SouthEast 1] shutdown.bat用来关闭服务器。 为了方便在任意目录启动,可以配置名为CATALINA\_HOME的环境变量,变量值为Tomcat的安装目录,配置步骤和JAVA\_HOME的基本一样。配置完之后,在命令行中输入startup就可以启动服务器了。当然也可以不用配置,以后也不用这种方式启动,都是在IDE中启动。 # 端口号占用问题 # 启动Tomcat时显示JVM\_Bind这个错误的时候就是端口号被占用了。如何解决? 1.关闭端口号对应的进程 在命令行窗口中输入netstat -ano,找到最后一行的PID值。然后打开任务管理器,默认情况下不显示PID,在名称那儿右键,然后勾选上PID。根据PID在里边找到对应的进程,然后结束任务。 2.在conf文件夹中找到server.xml,把里边的端口号8080改成别的,比如8081 <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> # Web应用 # 在Web服务器上运行的Web资源都是以Web应用形式呈现的,所谓Web应用就是多个Web资源的集合,Web应用通常也称为Web应用程序或Web工程。一个Web应用由多个Web资源或其他文件组成,其中包括html文件、css文件、js文件、动态Web页面、java程序、支持jar包、配置文件等。 开发人员在开发Web应用时,应按照一定的目录结构来存放这些文件;否则,在把Web应用交给Web服务器管理时,不仅可能会使Web应用无法访问,还会导致Web服务器启动报错。 在webapps里边默认有五个文件夹(docs,examples,host-manager,manager,ROOT),一个文件夹就代表一个Web应用程序,其中输入[http://localhost:8080][http_localhost_8080]默认启动的就是ROOT。运行docs这个应用,可以在浏览器中输入[http://localhost:8080/docs][http_localhost_8080_docs]这时候就会显示如下界面 ![这里写图片描述][SouthEast 2] Web应用 * html文件,jsp文件,css文件,图片 * WEB-INF目录 * web.xml * classes * lib 一个Web应用需要包含多个目录,这些目录来存储不同类型的文件。其中,所有的Web资源都可以直接存放在Web应用的根目录下,在Web应用的根目录中还有一个特殊的目录WEB-INF,所有的配置文件都直接存放在这个目录中,WEB-INF还有两个子目录,classes目录用于存放.class文件,lib目录用于存放Web应用所需要的各种jar文件。**在WEB-INF这个目录下的文件不能被外部直接访问**。 # 用MyEclipse建一个Web应用 # 打开MyEclipse,File–>New–>Web Project ![这里写图片描述][SouthEast 3] 在src里边编写Java代码。WebRoot就相当于应用程序的根目录,在里边放一些html,css,js什么的。 接下来,我把index.jsp删了(现在先弄个静态网页,不弄动态的),新建一个1.html。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <link href="css/myStyle.css" type="text/css" rel="stylesheet"><link> </head> <body> <p>hello</p> </body> </html> 再建一个css文件,里面建一个myStyle.css p{ color:red; } 在src里建一个HelloWeb.java,存在com.eaglezsx.demo包里 package com.eaglezsx.demo; public class HelloWeb { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } } 为了看的更清楚,Window–>Show View–>Other–>Navigator ![这里写图片描述][SouthEast 4] 之后选中项目, ![这里写图片描述][SouthEast 5] 点击菜单中的这个按钮,找到项目的文件。把WebRoot里边的文件复制一份(META-INF可以不复制,它是myeclipse自己的配置信息)。然后找到Tomcat里的webapps,先在里边建一个文件夹FirstWeb,然后把刚才复制的文件放到里边。 ![这里写图片描述][SouthEast 6] 启动服务器,在浏览器中输入网址[http://localhost:8080/FirstWeb/1.html][http_localhost_8080_FirstWeb_1.html],显示结果为 ![这里写图片描述][SouthEast 7] # 集成Tomcat和自动部署应用 # Windows–>Preferences–>MyEclipse–>Servers–>Tomcat–>Tomcat 7.x。(也可以直接在搜索栏搜索) 然后找到其安装路径,选择Enable,点击OK即可。 ![这里写图片描述][SouthEast 8] 这样Tomcat就已经集成在Myeclipse上了。 如何部署Web应用? ![这里写图片描述][SouthEast 9] 点击这个按钮,选择HelloWeb这个项目,点击Add,选择Tomcat 7.x这个服务器。 ![这里写图片描述][SouthEast 10] 然后点击OK。 ![30-12][] ![这里写图片描述][SouthEast 11] 在服务器中会添加如下文件,HelloWeb就是我项目的名称。 ![30-13][30-12] ![这里写图片描述][SouthEast 12] 点击Start启动服务器。之后就可以在浏览器中输入[http://localhost:8080/HelloWeb/1.html][http_localhost_8080_HelloWeb_1.html]来访问了。 想要停止的话,就点击Start下边的Stop Server。 在集成了Tomcat后,也可以在Servers视窗中部署 ![30-14][30-12] ![这里写图片描述][SouthEast 13] Tomcat 7.x右键–>Add Deployment 还有一种部署方式是打成war包。进入到WebRoot目录,输入命令`jar -cvf MyWeb.war .` c是Create,f是file,v是view,可以看到添加的过程,也可以写成cf,最后加的.代表把当前目录的所有文件都添加进去。添加完成后,会在当前目录生成一个MyWeb.war文件。把他丢到webapps里边,当启动服务器的时候会自动将其解压,想删除的话,直接把MyWeb.war删除即可,其解压文件过一会儿会自动删除。 C:\Users\YZ>g: G:\>cd G:\Workspaces\MyEclipse 10\HelloWeb\WebRoot G:\Workspaces\MyEclipse 10\HelloWeb\WebRoot> jar -cvf MyWeb.war . 已添加清单 正在添加: 1.html(输入 = 341) (输出 = 242)(压缩了 29%) 正在添加: css/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: css/myStyle.css(输入 = 18) (输出 = 20)(压缩了 -11%) 正在忽略条目META-INF/ 正在忽略条目META-INF/MANIFEST.MF 正在添加: WEB-INF/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: WEB-INF/classes/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: WEB-INF/classes/com/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: WEB-INF/classes/com/eaglezsx/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: WEB-INF/classes/com/eaglezsx/demo/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: WEB-INF/classes/com/eaglezsx/demo/HelloWeb.class(输入 = 403) (输出 = 263)(压缩了 34%) 正在添加: WEB-INF/lib/(输入 = 0) (输出 = 0)(存储了 0%) 正在添加: WEB-INF/web.xml(输入 = 404) (输出 = 218)(压缩了 46%) G:\Workspaces\MyEclipse 10\HelloWeb\WebRoot> # 配置虚拟目录 # 将所有的Web应用都放在webapps目录下可能空间不够用,会将Web应用放置在其他目录下。但Tomcat无法管理webapps目录以外的Web应用程序,在这种情况下,Web应用要想被外界访问,就需要手动配置虚拟目录,在Tomcat服务器中配置虚拟目录有两种方式。 1.在server.xml文件中配置虚拟目录 conf目录下的server.xml文件,在元素中添加一个元素 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="/HelloWeb" docBase="g:\HelloWeb"/> 这样我把HelloWeb这个应用放到了g盘也能访问到 path-虚拟目录:[http://localhost:8080/HelloWeb][http_localhost_8080_HelloWeb] docBase-真实目录:g:\\HelloWeb Host的父节点是Engine,Engine可以管理多个Host(主机),默认只有一个,就是localhost,访问的是webapps下的应用,unpackWARs和autoDeploy是用来配置是否要自动解压部署war文件。 Tomcat的体系架构如下 ![30-15][30-12] ![这里写图片描述][SouthEast 14] 这种方式需要重新启动服务器,不建议这样做。 2.在自定义xml文件中配置虚拟目录 进入conf\\Catalina\\localhost目录,在该目录中创建一个HelloWeb.xml的配置文件(文件名就代表应用的虚拟目录名,可以任意起,建议和应用名相同),在里边填写 <?xml version="1.0" encoding="utf-8"?> <Context docBase="g:\HelloWeb"/> # 配置默认应用 # 将配置虚拟目录的时候弄的那个HelloWeb.xml改名为ROOT.xml即可,这样写地址时就不用写应用名了。 # 配置默认主页 # 在web.xml中的这个节点中添加节点 <welcome-file-list> <welcome-file>1.html</welcome-file> </welcome-file-list> 这样只需要输入[http://localhost:8080/HelloWeb][http_localhost_8080_HelloWeb]就可以访问到1.html了,可以写多个节点,找的时候会从上往下找,直到找到为止。 # 配置默认端口 # 浏览网页服务默认的端口号都是80 在conf文件夹中找到server.xml,把里边的端口号改成80 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 这样以后再写地址的时候就不用写端口号了 # 配置虚拟主机 # Tomcat服务器允许用户在同一台计算机上配置多个Web站点,在这种情况下,需要为每个Web站点配置不同的主机名,即配置虚拟主机。现实生活中,为了提高硬件资源的利用率,有很多网站通过配置虚拟主机的方式实现服务器的共享。 在sever.xml文件中,元素代表一个虚拟主机,它的属性name和appBase分别表示虚拟主机的名称和路径 <Engine name="Catalina" defaultHost="localhost"> ... <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> ... </Host> </Engine> 默认情况下,虚拟主机的名称为localhost,路径为 127.0.0.1 localhost 这行文本的作用就是建立IP地址(127.0.0.1)和主机名(localhost)的映射关系,这也是在浏览器地址栏中可以使用localhost访问本地Web服务器的原因。如果要增加更多的主机名与IP地址的映射关系,只需要在这个hosts文件中进行配置即可。 127.0.0.1 www.eaglezsx.com # Tomcat的管理平台 # 在浏览器中输入网址打开[http://localhost.8080/][http_localhost.8080]打开Tomcat首页,点击首页的Manager App。会弹出框让输入用户名和密码。 这个需要在conf\\tomcat-users.xml文件中添加具有管理员权限的账号。Tomcat定义了四个不同的角色 * manager-gui:允许访问HTML图形管理控制台和状态页面。 * manager-script:允许访问文本接口和状态页面。 * manager-jmx:允许访问JMX代理和状态页面。 * manager-status:只允许访问状态页面。 由于Tomcat管理平台是一个HTML页面,只需在配置文件中添加gui角色。 <tomcat-users> <role rolename="manager-gui"/> <user username="eaglezsx" password="1" roles="manager-gui"/> </tomcat-users> 之后重新启动Tomcat服务器,输入用户名和密码后就可以看到Tomcat管理平台的页面了。 [JDK]: http://blog.csdn.net/zsx157326/article/details/53780477 [http_tomcat.apache.org]: http://tomcat.apache.org [SouthEast]: /images/20220711/641322c0defa47a5a5b76a614b45dea7.png [http_localhost_8080]: http://localhost:8080 [http_127.0.0.1_8080]: http://127.0.0.1:8080 [SouthEast 1]: /images/20220711/c1b702a2503648128594550baea53638.png [http_localhost_8080_docs]: http://localhost:8080/docs [SouthEast 2]: /images/20220711/de54c36bcf90429fb766245b4e8228d7.png [SouthEast 3]: /images/20220711/880911c9793b450ea3970d1a3698e1d0.png [SouthEast 4]: /images/20220711/5dfa3e154d1244c8a362fe4ed4caa0d2.png [SouthEast 5]: /images/20220711/c0683f69f86f4b19845f7c0a5f556e24.png [SouthEast 6]: /images/20220711/e06f65d682424d87bdde4b30ad472d24.png [http_localhost_8080_FirstWeb_1.html]: http://localhost:8080/FirstWeb/1.html [SouthEast 7]: /images/20220711/b15b155bf1d34b1a82598f32eb17ca72.png [SouthEast 8]: /images/20220711/9b26e4f3f5e74d0e80637a7b6bafb9a3.png [SouthEast 9]: /images/20220711/e29bad7cb9ef4b1ab68c89d16f78a3d0.png [SouthEast 10]: /images/20220711/38ab6d7916694f30abe3e248e85ed4d7.png [30-12]: [SouthEast 11]: /images/20220711/6729250b71a44b6dbf696dbd91f12544.png [SouthEast 12]: /images/20220711/45f39aa2156843a69d68d70d3ce21a3f.png [http_localhost_8080_HelloWeb_1.html]: http://localhost:8080/HelloWeb/1.html [SouthEast 13]: /images/20220711/fadd3c810a5b46efaec16b741d80d871.png [http_localhost_8080_HelloWeb]: http://localhost:8080/HelloWeb [SouthEast 14]: /images/20220711/be30d0f390014498816c806f12f1d901.png [http_localhost.8080]: http://localhost.8080/
相关 tomcat 1. c/s: 客户端和服务端 : 例如QQ; 安全, 升级比较麻烦 b/s: 浏览器和服务端: 只需要编写服务端; 不安全 2. web资源介绍: 灰太狼/ 2022年06月14日 08:49/ 0 赞/ 73 阅读
相关 tomcat Tomcat 1.概述 通过上面的讲解大家对JSP与Servlet已经有所理解,最起码知道它们是做什么的,说到底它们都是程序设计语言,是帮助我们更好的编写程序。大家都知 缺乏、安全感/ 2022年06月11日 07:55/ 0 赞/ 436 阅读
相关 Tomcat Tomcat简介 WEB服务器与应用服务器的概念 WEB服务器:专门处理HTTP请求,提供WEB信息浏览服务。 应用服务器:可解析运行后台代码,为应用 客官°小女子只卖身不卖艺/ 2022年06月07日 03:07/ 0 赞/ 263 阅读
相关 Tomcat 1.基本调优 bin/catalina.sh 加一行 JAVA\_OPTS='-Xms128m -Xmx512m -XX:PermSize=128m' 2.设置脚本开机启 r囧r小猫/ 2022年05月31日 22:48/ 0 赞/ 240 阅读
相关 tomcat 一、安装Tomcat5.5.20 1、下载安装包 <table> <tbody> <tr> <td><span><strong>代码:</stro 一时失言乱红尘/ 2022年05月11日 12:16/ 0 赞/ 120 阅读
相关 tomcat 前文: 对tomcat的构的初步解析 一、web服务器 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_te 偏执的太偏执、/ 2022年03月19日 16:58/ 0 赞/ 87 阅读
相关 tomcat tomcat结构 模块组成结构 Tomcat的核心组件就Connector和Container,一个Connector+一个Container(Engine)构成一个 ﹏ヽ暗。殇╰゛Y/ 2022年03月16日 07:51/ 0 赞/ 131 阅读
相关 Tomcat [Tomcat][] Tomcat运行在JVM之上,它和HTTP服务器一样,绑定IP地址并监听TCP端口,同时还包含以下指责: 1. 管理Servlet程序的生命周期 左手的ㄟ右手/ 2022年01月28日 13:21/ 0 赞/ 173 阅读
相关 Tomcat tomcat目录层次结构 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6L 我会带着你远行/ 2021年11月17日 09:02/ 0 赞/ 232 阅读
相关 Tomcat Tomcat文件目录 |-bin: 存放tomcat的命令。 |- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。 ゝ一世哀愁。/ 2021年09月11日 05:40/ 0 赞/ 362 阅读
还没有评论,来说两句吧...