我叫Tomcat:一款web服务器

我叫Tomcat:一款web服务器

如何将我们的 Java 代码,运行在网络上,初学时,首先接触到的一般都是Servlet以及Jsp(或略过Jsp)而 Tomcat 就是这两者的容器,帮你处理动态网页部分

(一) 从哪来,到哪去?

(1) Tomcat和它的小伙伴

JBoss:Redhat 红帽,支持所有的 JavaEE 规则,适合大型项目,收费

Weblogic:Orcale,支持所有 JavaEE 规则,适合大型项目,收费

Websphere:IBM,支持所有 JavaEE 规则,适合大型项目,收费

Resin:Caucho,支持 所有 JavaEE 规则,应用趋于广泛

而我,我叫汤姆猫(Tomcat),来自Apache基金组织,可能因为我开源且免费,算是应用比较广泛的web服务器了,不过天下没有白吃的午餐,我仅仅支持少量的 javaEE规范 (Servlet/Jsp等)所以中小型项目,在我这里跑的比较多

(2) Tomcat用来做什么?

1、做Servlet等的容器

比如现存一个搜索引擎,我们将它看成一个完整的web项目,它基于http协议中的请求和响应,我输入一些内容查询,而它接收到了这个请求后,简单的认为,背后有一个Servlet(一些应用于web项目的java代码)在处理这个请求,它会通过一系列方法,对你的数据进行处理,以及查询,例如,正常则查询,存在非法字则不查询,返回文字警告,最后再把相应的界面展示给用户,而 Tomcat 就作为一个容器,其中存放着Servlet等东西

2、让你/他人能在浏览器中访问你的web项目

想要在浏览器中访问我们本地的web项目,那必然需要一个URL地址,例如http://localhost:8080/(本地) ,也就是IP+端口号,那这个开放的端口,总得帮助我完成一些操作,它需要找到我再web.xml中配置的一些信息,然后找到我的Servlet,将我所需要的功能实现,执行完后,将结果返回到浏览器上,这样就能用java代码配合一些页面,实现数据动态的互动,从而在浏览器上查看这个效果

(二) 配置 Tomcat

(1) Tomcat的启动和关闭

Tomcat的运行需要依赖 JDK,它会通过JAVA_HOME路径来寻找 JDK,我们是有 Java基础的,所以这一步可以忽略

方式一

在我们的安装路径下的bin文件夹中,startup.batshutdown.bat这两个文件分别代表着启动关闭

例如在我的电脑中开启 Tomcat:D:\develop\Java\apache-tomcat-8.5.40\bin\startup.bat

方式二

如果想更加方便一点,可以将这两者也设为环境变量

计算机 --> 右键属性 --> 高级系统设置(左侧)--> 高级 --> 环境变量

新建系统变量 --> 变量名:CATALINA_HOME 变量值:Tomcat安装路径

修改path变量 --> 追加:%CATALINA_HOME%\bin

这样我们就可以在cmd中直接输入startup或shudown,启动我们的 Tomcat

启动后,弹出名为Tomcat的框,内打印出日志信息,即代表成功开启

如果在浏览器地址栏中输入 http://localhost:8080,如果出现对应Tomcat页面,说明配置也就成功了

因为服务器在本地上,所以我们的主机名可以为,http://127.0.0.1:8080或者 http://localhost:8080,端口前代表本地的主机名,tomcat的默认端口为8080

(2) 修改端口号(可改可不改)

Tomcat安装路径\conf\server.xml 修改,找到 Connector port="8080"内容,修改8080的值

如果将端口号修改为80,那么以后再访问服务器的时候,就不需要再输入端口号了,因为http协议默认端口号就是80,即输入 http://localhost即可

(三) Tomcat 目录结构

  • bin:存放启动和关闭 Tomcat 的脚本文件,例如startup.bat和shutdown.bat
  • conf:存放各种配置文件,例如:context.xml、web.xml、tomcat-users.xml
    • server.xml:配置一些setver信息,如端口号和主机
    • web.xml:与每个应用WEB-INF下的web.xml协同工作,配置Servlet,session等
    • tomcat-users.xml:用户名密码和相关的一些权限
  • lib:存放tomcat所需的jar包
  • logs:日志文件
  • temp:存放tomcat运行时产生的临时文件,当tomcat关闭后,这个目录中的件可以删除
  • webapps:目录下的每个文件夹对应我们的一个Web应用
    • 在webapps目录下有一个ROOT目录,它是缺省web应用,如果把web应用的内部放到webapps/ROOT下,访问URL路径中不用给出应用名称。
  • work:webapps下的应用程序在运行时会自动生成文件,存放着 JSP被访问后,生成对应的server文件和字节码文件

(四) 配置虚拟目录(外部应用)

webapps:目录下的每个文件夹对应我们的一个Web应用

默认情况下 webapps 下的文件夹可以被 Tomcat 自动管理成一个一个web站点,但是如果我们存在非常多的站点,一:过于占据内存二:文件数过多不利于管理,所以我们需要在外部开辟一块空间,将我们的web站点分散到别的盘符中去

(1) 方法一

在Tomcat安装目录下 找到 conf/server.xml

<Host name="localhost" appBase="webapps"
      unpackWARs="true" autoDeploy="true">
      <!-- 待添加位置 -->
</Host>
添加代码:<Context path="/URL访问路径" docBase="外部应用的绝对路径"/>
例如添加:<Context path="/web001" docBase="F:/develop/web001"/>

(2) 方法二

在Tomcat安装目录下 找到 conf/Catalina/loaclhost文件夹,在其中创建一个以web项目为名的文件夹

<?xml version="1.0" encoding="UTF-8"?>
<Context
    docBase="外部应用的绝对路径"
    reloadable="true">
</Context>

(五) 设置站点的首页

一般在网络中部署站点的时候,index页面将作为一个网站的首页,也就是说只需要输入域名即可直接跳转到这个页面上去,不需要输入其文件名,而如何在本地Tomcat服务器中设置某一个web项目的首页呢?

1、我们在webapps中创建一个文件夹web1作为我们的一个web项目,在其中新建两个html文档,page1.html 以及 page2.html

2、在web1目录下新建一个名为WEB-INF的文件夹,并且在其中新建一个名为web.xml的文件

可以从别处复制格式,例如 webapps\ROOT\WEB-INF 下的web.xml文件,添加下方代码

  <welcome-file-list>
    <welcome-file>首页文件名</welcome-file>
  </welcome-file-list>

例如:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

  <welcome-file-list>
    <welcome-file>page2.html</welcome-file>
  </welcome-file-list>

</web-app>

这样我们就不需要指定资源文件名访问了,page2已经成为了我们站点的首页

(六) 外网如何访问本地基于Tomcat的web应用

Tomcat + 花生壳

在本地开发好了一个web项目,我们部署在本地的tomcat服务器中,但是如果想要让别人通过外网访问我们的项目,帮助我们临时测试,或者提出意见,简单的可以通过Tomcat + 花生壳解决这个问题

首先自行安装注册花生壳这款软件,新建一条内网映射,输入相应数据

我们通过外网访问一下

结尾:

如果内容中有什么不足,或者错误的地方,欢迎大家给我留言提出意见, 蟹蟹大家 !^_^

如果能帮到你的话,那就来关注我吧!(系列文章均会在公众号第一时间更新)

在这里的我们素不相识,却都在为了自己的梦而努力 ?

一个坚持推送原创Java技术的公众号:理想二旬不止

原文地址:https://www.cnblogs.com/ideal-20/p/11381971.html

时间: 2024-10-11 19:31:34

我叫Tomcat:一款web服务器的相关文章

keepalived+nginx+tomcat搭建高性能web服务器集群

使用keepalived+nginx+tomcat搭建高性能web服务器集群,系统采用centos6.9,前端用nginx做反向代理实现负载均衡,同时结合keepalived对nginx实现高可用,后端使用两台tomcat做动态jsp解析,实现了动静分离. 搭建环境 准备四台服务器 vip: 192.168.75.130master: 192.168.75.131 (安装nginx做反向代理实现负载匀衡,结合keepalived实现高可用)backup: 192.168.75.132 (同上)w

Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz 安装#tar zxvf http_load-12mar2006.tar.gz#cd http_load-12mar

几款Web服务器性能压力测试工具

一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求.下载地址:http_load-12mar2006.tar.gz 安装很简单 #tar zxvf http_load-12mar2006.tar.gz #cd http_load-12mar2006 #make && make install 基本

九款Web服务器性能压力测试工具

一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求.下载地址:http_load-12mar2006.tar.gz安装很简单 #tar zxvf http_load-12mar2006.tar.gz#cd http_load-12mar2006#make && make install 基本用法:

Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方法

一.相关软件介绍 1. J2SDK:Java2的软件开发工具,是Java应用程序的基础.JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK. 2. Apache服务器:Apache组织开发的一种常用Web服务器,提供Web服务. 3. Tomcat服务器:Apache组织开发的一种JSP引擎,本身具有Web服务器的功能,可以作为独立的Web服务器来使用.但是,在作为Web服务器方面,Tomcat处理静态HTML页面时不如Apache迅速,也没有Apache健壮,所以我们一般将

Tomcat结合Apache、Nginx实现高性能的web服务器

一.Tomcat为什么需要与apache.nginx一起结合使用? Tomcat虽然是一个servlet和jsp容器,但是它也是一个轻量级的web服务器.它既可以处理动态内容,也可以处理静态内容.不过,tomcat的最大优势在于处理动态请求,处理静态内容的能力不如apache和nginx,并且经过测试发现,tomcat在高并发的场景下,其接受的最大并发连接数是由限制的,连接数过多会导致tomcat处于"僵死"状态,因此,在这种情况下,我们可以利用nginx的高并发,低消耗的特点与tom

嵌入式web服务器

现在在嵌入式设备中所使用的web服务器主要有:boa.thttpd.mini_httpd.shttpd.lighttpd.goaheand.appweb和apache等. Boa 1.介绍 Boa诞生于1991年,作者Paul Philips.是开源的,应用很广泛,特别适合于嵌入式设备,网上流行程度很广.它的官方网站说boa是最受人喜爱的嵌入式web服务器.功能较为强大,支持认证,cgi等.Boa 是一个单任务的HTTP SERVER,它不像传统的web服务器那样为每个访问连接开启一个进程,也不

常见的WEB服务器和应用服务器

转自:http://hi.baidu.com/lclkathy/blog/item/dae3be36763a47370b55a970.html 一 常见的WEB服务器和应用服务器 在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器. 在选择使用WEB服务器应考虑的本身特性因素有:性能.安全性.日志和统计.虚拟主机.代理服务器.缓冲服务和集成应用程序等,下面介绍几种常用的WEB服务器.

理清web服务器跟应用服务器的基本概念(纯拷贝)

一 常见的WEB服务器和应用服务器 在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器. 在选择使用WEB服务器应考虑的本身特性因素有:性能.安全性.日志和统计.虚拟主机.代理服务器.缓冲服务和集成应用程序等,下面介绍几种常用的WEB服务器. 常见的web服务器: (其实IIS和Apache同时也支持基础的应用服务器的功能) Microsoft IIS Microsoft的Web服务