精华内容
下载资源
问答
  • 静下来的时间,不想折腾了,安静下来,做自己吧!打理生活,看看书,喝喝茶,留时间给自己,余生不长,善待自己才是最重要的。Tomcat 相信做java的小伙伴一定不陌生...Tomcat功能我们先来分析下tomcat有哪些功能?To...

    静下来的时间,不想折腾了,安静下来,做自己吧!

    打理生活,看看书,喝喝茶,留时间给自己,余生不长,善待自己才是最重要的。

    Tomcat 相信做java的小伙伴一定不陌生,如今微服务容器盛行的时代,spring-boot内嵌了tomcat,让技术人更专注业务的实现,却也屏蔽了好多实现的细节。今天呢就带大家一起来探讨下tomcat的架构。

    Tomcat功能

    我们先来分析下tomcat有哪些功能?

    506ee7947ce96f3e8e0a8546e717ae9f.png

    Tomcat两个非常重要的功能:

    • Http服务器功能:Socket通信(TCP/IP)、解析Http报文;

    • Servlet容器功能:有很多servlet,处理具体的业务逻辑;

    Tomcat架构

    为了实现上述功能,tomcat进行了很多的设计封装,封装出了很多组件(所谓的组件在java源码中体现的就是具体的java类),组件与组件的关系就构成了所谓的tomcat架构。接下来就一起来欣赏下tomcat有哪些组件及其架构:

    所谓容器(Container),并不是常说的用来存储数据结构的类,比如Collection、Set、List等,而是专指tomcat和spring mvc中用来对功能和结构进行分层抽象的概念(类或者接口)。tomcat的基本容器结构如图所示:

    5c1e3cd3fe2ba6c51122d716f5cd3661.png

    tomcat最顶层的容器Server,代表整个tomcat服务器,一个Server可以包含一个或者多个Service。一个Service包含一个或者多个Connetor,但是只能包含一个Container。Connector主要用来处理连接相关的事,比如网络套接字Socket的监听、请求request的接收和应答response的发送。这里的Container是一个抽象的概念,一个接口。其实是指一个Service只能包含一个Engine–Engine继承自Container。Engine容器结构如图所示:

    cf481ea519fbc761c4b5d7e611bcc29d.png

    其中Engine、Host、Context和Wrapper都继承自Container。    Engine用来管理多个站点,即可以有多个Host。Host代表一个站点,其实是一个虚拟主机。Context,上下文,代表一套应用程序,一套应用程序总是有相同的应用上下文配置。最后是Wrapper,每个wrapper只有一个Servlet,而每个Servlet即对应每个开发的spring mvc服务程序。所以我们开发的spring mvc服务程序都是通过Wrapper加载到tomcat中。在上一篇Tomcat与SpringMVC请求流程解析 已经介绍过。接下来的几篇中会通过源码调试及启动和请求流程来分析tomcat的实现原理。

    最后以tomcat的整体架构图先从宏观上了解其实现,几年前看过一本书

    how tomcat works》推荐给大家,带你一步步从零实现一个tomcat,让你真正的了解tomcat的工作原理。

    ac916304f79a035f9f113cec8b6935a8.png

    2f16cf4a445cb834bfbe0a0600ed2207.png

    长按关注,欢迎一起探讨技术

    165dab52451919ea9bbef9537df05e18.png

    展开全文
  • netty与tomcat功能比较

    2018-12-10 16:44:06
    总结了netty和tomcat的差异,入门级的比较,希望对读者有点帮助
  • 手动实现tomcat功能

    千次阅读 2019-05-23 10:49:20
    Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(Apache Software Foundation)的...我们只是简单实现tomcat的一部分功能,使我们更加了解tomcat。 手动实现: 首先创建HttpReque...

    Tomcat服务器是一个免费开放源代码Web应用服务器。Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。既然是免费的,我们为什么要手动实现?

    我们只是简单实现tomcat的一部分功能,使我们更加了解tomcat。

    手动实现:

    首先创建HttpRequest和HttpResponse接收请求和响应请求,这里是基于socket实现,所以这里是阻塞等待,

    如果想要实现nio,请查看 https://blog.csdn.net/qq_39057033/article/details/84942812

    HttpResponse:

    HttpRequest:

    阻塞服务Server:

     

    然后添加一些页面,配置web.xml,启动服务,就可以访问了。

     

    展开全文
  • 【来促销主机】java主机开通查看内存和重启tomcat功能,以方便java主机用户掌握内存状况,并可以设置一定的频率自动重启tomcat。 java主机开通查看内存和重启tomcat功能 来促销主机的java主机独享jvm和tomcat服务,...

    【来促销主机】java主机开通查看内存和重启tomcat功能,以方便java主机用户掌握内存状况,并可以设置一定的频率自动重启tomcat。


    java主机开通查看内存和重启tomcat功能

    来促销主机的java主机独享jvm和tomcat服务,每个TOMCAT运行一个网站,而tomcat运行需要内存的支持,内存越大,TOMCAT越稳定。若内存比较小,不够用,TOMCAT就会报内存不足的错误,TOMCA若有问题,网站就不能访问!具体需要多大的内存,要看程序是否写得优化以及访问量等因素,当然内存越大越好! 来促销主机提供业界领先的java主机,内存大小透明可见,可在控制面板中实时查看内存使用情况。

    开通查看内存和重启tomcat功能的优点

    如果内存太小,可能导致网站经常打不开或报内存不足的错误,这时应该升级主机型号以获得更大的内存(较便捷),或者优化程序,减少对内存的占用(一般较难实现)。另外可以根据情况设置一定频率的自动重启tomcat以释放内存。

    开通查看内存和重启tomcat功能的的目的

    目前市场上其他竞争对手的java主机要么是共享内存,要么是独享非常小的内存大小(不注明内存实际大小也不提供内存查看功能),使得java主机经常卡死,不够稳定。而来促销主机的java主机经过7年时间的打磨,积累了丰富的运营经验。此次开放内存大小查看和自动重启功能,必将为客户带来更好的服务体验!

     

    本文来源:http://www.laicuxiao.com/news/list.asp?newsid=40

    展开全文
  • Tomcat功能的配置方法

    千次阅读 2012-10-08 22:38:01
     tomcat/bin/catalina.bat 如果是linux 就是 catalina. sh  在rem 的后面增加如下参数  set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m 2 修改Tomcat的JDK目录  打开tomcat/bin/catalina.bat ...

    1 启动内存参数的配置

      tomcat/bin/catalina.bat 如果是linux 就是 catalina. sh
      在rem 的后面增加如下参数
      set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m

    2 修改Tomcat的JDK目录

      打开tomcat/bin/catalina.bat
      在最后一个rem后面增加
      set JAVA_HOME=C:\Program Files\Java\jdk1.6.0

    3 增加虚拟目录

      /tomcat/conf/server.xml
      第一行是以前默认存在的,第二行是新增的
      <Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>
      <Context path="/jsp/a" reloadable="true" docBase="E:\workplace\www.java2000. net\WebContent" />
      使用默认配置的tomcat,另外虚拟目录也可这设置:
      <Context path="/test" docBase="webContent" reloadable="true"/>
      因为默认情况下,tomcat启动过程中配置虚拟目录的时候会从 webapps目录下查找webContent应用。
      这样配置好了,即使以后从一台服务器移植到另一台服务器,不做任何修改也能运行起来。

    4 GET方式URL乱码问题解决

      打开 tomcat/conf/server.xml
      查找下面这部分,在最后增加一段代码就可以了。
      <Connector port="80" maxHttpHeaderSize="8192"
      .................
      URIEncoding="UTF-8" useBodyEncodingForURI="true"
      ...............
      />
      其中的UTF-8 请根据你的需要自己修改,比如GBK

    5 虚拟主机配置文件

      tomcat/conf/server.xml
      <!-- 默认的主机 -->
      <Host name="localhost" appBase="webapps"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
      <Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>
      ...
      </host>
      <!-- 以下是新增的虚拟主机 -->
      <Host name="www.java2000. net" appBase="webapps"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
      <Context path="" docBase="d:/www.java2000. net" debug="0" reloadable="true"></Context>
      <!-- 虚拟目录 -->
      <Context path="/count" docBase="d:/counter.java2000. net" debug="0" reloadable="true"></Context>
      </Host>
      <Host name="java2000. net" appBase="webapps"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
      <Context path="" docBase="d:/www.java2000. net" debug="0" reloadable="true"></Context>
      <Context path="/count" docBase="d:/counter.java2000. net" debug="0" reloadable="true"></Context>
      </Host>

    6 数据源配置

      比较复杂,各个版本都有所不同,请直接查看 http://java2000. net/p1906,包括tomcat5.0,tomcat5.5x,tomcat6.0的各个版本的配置方法。
    展开全文
  • 从菜单开始操作:File - export - Web - WAR file,在弹出的对话框Destination项输入war文件的全路径文件名,一般是在tomcat目录下的webapps目录下,如【C:\Tomcat 6.0\webapps\fileupload.war】,关闭tomcat,删除...
  • Tomcat常用功能

    2020-04-03 13:52:27
    Tomcat 常用功能环境tomcat 管理页面以及功能Manager APPServer StatusHost AppTomcat查看启动项目 因为经常使用Tomcat,但因为时间有点久远,对于脱离了指定编辑器的部署有点疑惑,所以,这里重新记录一下,以方便...
  • tomcat管理功能

    2019-08-16 11:27:57
    安装完tomcat以后,通过8080端口访问服务器,即可看到以下页面。注意右手边有两个管理功能,Manager App 和 Host Manager。 Manager App 可以管理web程序,而且不需要重启tomcat服务。包括以下功能:显示你上一个...
  • Tomcat功能

    千次阅读 2018-10-02 14:54:07
    功能如下: 1、 Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在...
  • Tomcat 管理功能使用

    2019-10-01 20:37:44
    Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用,在默认情况下是处于禁用状态的。(管理页面报 403 错误 ,一是因为验证用户名密码,二是因为禁用授权地址) 如果需要开启这个功能,就...
  • solr+tomcat完成搜索功能,solr+tomcat完成搜索功能,solr+tomcat完成搜索功能
  • Tomcat实现功能

    2018-10-24 14:07:47
    session会话机制。
  • 一、功能说明 ...这时,我们可以考虑 tomcat 的 listings 功能。 二、 配置过程 vim $TOMCA_HOME/conf/web.xml ($TOMCA_HOME 是 tomcat 的安装目录) 修改如下配置:(要将 listings 的 false 改为 true)
  • tomcat - 功能简介

    2015-03-11 09:18:59
    Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现...
  • tomcat文件上传功能

    千次阅读 2020-06-16 10:37:12
    文件上传下载功能实现零、流程一、准备工作1、创建空项目2、导包3、配置Tomcat二、文件上传的注意事项(调优)三、需要用到的类详解FileItem类ServletFileUpload类四、代码编写 零、流程 一、准备工作 1、创建空...
  • Tomcat远程监控功能

    2019-09-25 08:50:28
    一、修改配置文件,开启远程监控功能 [root@fengling ~]# vim /usr/local/tomcat/bin/catalina.sh #加入以下内容 #!/bin/sh CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management....
  • 下载对应版本的tomcat 解压放到文件夹内 eclipse 需要安装tomcat前提要配置jdk 二:eclipse连接tomcat,不需要配置环境变量 1.找到Servers 也可以从这里找 开始配置 这时项目栏会出现Server工程,tomcat出也不再...
  • Tomcat配置登录拦截功能

    千次阅读 2017-12-08 18:38:29
    Tomcat 设置登录验证如果项目较小,设置简单的登录验证,可以通过tomcat设置登录功能,做到简单的项目拦截。添加登录验证后,访问项目的tomcat拦截的弹框如下:这里是将我的项目放到了tomcat/webapps/ROOT下了,这是...
  • Tomcat实现的功能

    2014-11-25 17:44:41
    Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现...
  • Tomcat日志切分功能 简介: catalina.out文件中记录了tomcat运行过程中的一系列信息,但如果长时间不做清理的话,文件就会越来越大,为了避免此问题,使用日志切分功能即可 安装前提: cronolog #这个工具具体我也不是...
  • 我们在本地启动Tomcat服务器后,用localhost:&lt;默认端口&gt;访问: 再点Manager App,即可...最近我在github上找到一个功能强大的Tomcat 管理监控工具,可以用来替代Tomcat默认的Manager应用: https...
  • tomcat目录列表功能

    千次阅读 2011-10-13 11:40:59
    tomcat或其他容器都支持列表功能,该功能的配置位于各容器的web.xml文件中,如下: default org.apache.catalina.servlets.DefaultServlet debug 0 listings true 1 将配置项l
  • tomcat

    千次阅读 2019-10-17 21:14:38
    一、认识tomcatTomcat:一种web服务器 Tomacat是由Apache推出的一款...Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,在处理静态Html上的能力略逊一筹。 To...
  • 关于Tomcat反向代理功能:

    千次阅读 2018-08-13 12:07:54
    关于Tomcat反向代理功能: 将客户端的静态请求由{Nginx,Apache}处理,而动态请求则转发至后端Tomcat服务器 Nginx实现方式: 准备工作 Tomcat Nginx 请求过程: client --&gt; http --&gt; nginx --&...
  • tomCat

    2018-12-20 09:33:18
    Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。 由于 Tomcat 本身也内含了一个 HTTP ...
  • 一,配置多个tomcat 编辑环境变量:vi /etc/profile #java环境配置 export JAVA_HOME=/usr/java/jdk1.7.0_71/ export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools....
  • tomcat加入log功能

    千次阅读 2014-07-28 15:40:44
    1、下载 log4j 与 commons-logging 2、将 commons-logging-1.1.1.jar 与 log4j-1.2.15.jar 放在 %TOMCAT_HOME%/bin 目录下
  • Tomcat

    2018-03-01 15:46:53
    Tomcat介绍 1.Tomcat因为技术先进、性能稳定、而且免费,所以深受Java爱好者的喜爱,成为...Tomcat具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,Servlet容器是Tomcat的默认模式。 2.Tomcat的下载地址...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,890
精华内容 7,156
关键字:

tomcat功能