基础的东东:
Tomcat作为servlet容器,负责处理客户请求,把请求传送给Servlet并把结果返回给客户。
当客户请求访问茉个Servlet时,Servlet容器将创建一个servletRequest对象和servletResponse对象。在ServletRequest对象中封装了客户请求信息,然后Servlet容器把servletRequest对象和servletResponse对象付给客户所请求的servlet。servlet把响应结果写到servletResponse中,然后由servlet容器把响应结果传给客户。
tomcat由一系列可配置组件构成。核心组件是Catalina Servlet容器,它是所有其他组件的顶层容器。tomcat组件可在<CATALINA_HOME>/conf/server.xml文件中配置。每个组件对应server.xml中的一种配置元素。
server.xml结构:
<!-- <Server>元素:代表整个Catalina Servlet容器,是Tomcat实例的顶层元素。可包含一个或多个<Service>元素。-->
<Server>
<!-- <Service>元素:包含一个<Engine>元素,以及一个或多个<Connector>元素,这些<Connector>元素共享同一个<Engine>元素。-->
<Service>
<!-- <Connector>元素:代表和客户程序实际交互的组件,负责接收客户请求,以及向客户返回响应结果。-->
<Connector/>
<!-- <Engine>元素:每个<Service>只能包含一个<Engine>元素。<Engine>元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求。-->
<Engine>
<!-- <Host>元素:一个<Engine>元素中可包含多个<Host>元素,每个<Host>元素定义一个虚拟主机,它可以包含一个或多个WEB应用。-->
<Host>
<!-- <Context>元素:使用最频繁的元素。每个<context>元素代表了运行在虚拟主机上的单个WEB应用,一个<Host>可包含多个<Context>元素。-->
<Context></Context>
</Host>
</Engine>
</Service>
</Server>
Linux中安装tomcat
安装JDK。假定JDK安装在/home/java/j2sdk1.4.2目录下。
解压Tomcat,假定解压到/home/tomcat目录下。
设定环境变量:JAVA_HOME和CATALINA_HOME。
JAVA_HOME=/home/java/j2sdk1.4.2;export JAVA_HOME
CATALINA_HOME=/home/tomcat;export CATALINA_HOME
修改HTTP端口
tomcat采用的HTTP端口为“8080”,想采用HTTP端口“80”,修改<CATALINA_HOME>/conf/server.xml,将<Connector>元素的port属性值改为“80”,重启tomcat。
Tomcat目录
/server/lib下的JAR文件只可被tomcat服务器访问
/shared/lib 下的JAR文件可被所有的WEB应用访问,不能被tomcat访问
/common/lib 下的JAR文件可被tomcat和所有WEB应用访问
在WEB应用的WEB-INF下也可建立lib目录,放各种JAR文件,这些文件只能被当前WEB应用访问。
Tomcat配置虚拟主机
server.xml中,Host元素代表虚拟主机。同一个Engine元素下可配置多个虚拟主机。
如:两个公司的WEB应用都发布在同一个tomcat下,可为每家公司分别创建一个虚拟主机,主机名分别为:
www.mycompany1.com,www.mycompany2.com。
当用户 访问以上两个WEB应用时,就好像这两个应用分别拥有各自的主机。还可以建立虚拟主机的别名。如希望客户访问www.mycompany1.com或mycompany1.com都能连接到同一个WEB,就可以把mycompany1.com做为虚拟主机的别名来处理。
配置www.mycompany1.com虚拟主机
1.打开server.xml文件,在<Engine>下有一个名为localhost的<Host>元素,在</Host>后加入新的<Host>元素。
<Host name="www.mycompany1.com" debug="0" appBase="c:\mycompany1" unpackWAR="true" autoDeploy="true">
<alias>mycompany1.com</alias>
<alias>mycompany1</alias>
<Context path="/helloapp" docBase="helloapp" debug="0" reloadable="true"/>
</Host>
Host属性
name:虚拟主机名字
debug:日志级别
appBase:虚拟主机目录,可指定绝对目录,也可相对于<CATALINA_HOME>根目录,无设定则默认为<CATALINA_HOME>/webapps
unpackWAR:是否先展开为目录结构后再运行
aotuDeply:自动发布
alias:虚拟主机别名,可指定多个别名
deployOnStartup:默认值为true。为true的话,则tomcat在启动上会自动发布appBase下的所有WEB应用。如果WEB应用在server.xml中没有相应的<Context>元素,则采用默认的Context配置。
2.把WEB应用复制到appBase指定的目录下。
3.在DNS服务器上注册以上的虚拟主机名和别名。使IP地址都指向tomcat所在的机器。注册以下名字:
www.mycompany1.com
mycompany1.com
mycompany1
4.重启tomcat
孙卫琴.Tomcat与Java.Web开发技术详解
分享到:
相关推荐
微信小程序推荐demo:备忘录:适用1028版本(源代码+截图)微信小程序推荐demo:备忘录:适用1028版本(源代码+截图)微信小程序推荐demo:备忘录:适用1028版本(源代码+截图)微信小程序推荐demo:备忘录:适用1028版本...
- APP排名:在记事本/备忘类APP中,有道云笔记排名第四,印象笔记排名第七,两者都有提升空间。 - 产品评分:两者评分均较高,表示用户对其核心功能的认可。 - 下载量:有道云笔记的下载量是印象笔记的三倍,但月...
但随着印象笔记、NearMe 云笔记、锤子便签等备忘类应用的出现,有道云笔记面临着激烈的市场竞争。 二、竞品比较 ### 2.1 主要竞品的整体情况 通过百度搜索指数、APP 排名、评分和下载统计等四个维度对有道云笔记...
备忘录模式笔记 备忘录模式(Memento)是一种非常有用的设计模式,它主要用于保存一个对象的某个状态,以便在适当的时候恢复对象。下面我们将对备忘录模式进行详细的解释和分析。 备忘录模式的定义 备忘录模式是...
1. 添加备忘:用户可以输入文本并保存为新的备忘。 2. 查看备忘:展示所有已保存的备忘,可以按时间顺序排列。 3. 编辑备忘:用户能够修改已存在的备忘内容。 4. 删除备忘:允许用户删除不再需要的备忘。 5. 搜索...
从标题和描述我们可以推测,这份资料可能聚焦于设计领域,特别是针对装置设计的一些重要笔记和记录。这样的文档通常包含了设计师在进行装置设计过程中的思考、灵感、技术要点以及问题解决方案等内容,对于理解和学习...
备忘录 Meemo是个人数据经理。 它使您可以简单地输入任何类型的信息,例如注释,想法,想法,以及用作书签管理器和待办事项列表。 用户界面类似于由标签组织的新闻提要。 全文搜索还可以让您快速地在堆积的数据中...
博文链接:https://zsp.iteye.com/blog/160258
C++面向对象部分备忘纲要原创笔记.pdf
麦库记事为用户提供的核心服务:记录笔记备忘:永久保存、随时存取管理知识文档:分类标记、快速检索批量文件上传:实时进度、超大空间共享我的知识:公开文档、资源共享。 灰常好用,我用来管理知识资料。 麦库...
标题“Tomcat6单独启动做测试服务器备忘”涉及到的是如何使用Apache Tomcat 6作为独立的测试服务器。Apache Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。这个备忘可能...
在Windows环境下,集成Apache2.2与Tomcat5.5并使用Apr(Apache Portable Runtime)进行优化,可以提升Web服务器的性能。Apache2.2是广泛应用的HTTP服务器,而Tomcat则是Java应用服务器,主要处理Servlet和JSP。Apr是...
软件可以实现美观易用、功能强大的编辑器来实现用户所需的各种备忘记事功能,来实现多篇备忘、笔记和文档信息等用途。软件界面美观简洁、简单全面、实用方便,无需培训,即可快速上手,轻轻松松完成备忘记事功能,...
和笔记(原名彩云笔记)能帮您做什么?1、 随时随地记录各种生活琐事,让您的生活有条不紊。会议纪要文案草稿,提高工作效率。各种不期而至的灵感,不错过任何奇思妙想。2、 手机电脑随时同步无论是出差,还是回家...
- 插入备忘:使用SQL的INSERT语句,通过ContentResolver的insert()方法。 - 查询备忘:使用SELECT语句,通过ContentResolver的query()方法。 - 更新备忘:使用UPDATE语句,通过ContentResolver的update()方法。 ...
【标题】:“备忘录:为Git存储库构建工件缓存” 【描述】:这个备忘录聚焦于如何在Git仓库中建立一个工件缓存系统,以优化开发流程和持续集成(CI)过程。工件缓存是DevOps实践中的一个重要组成部分,特别是对于...
2. 启用/禁用备忘:用户可以在展示列表中勾选,以启用或禁用当前的备忘。 3. 备忘管理:用户可以新建备忘、修改选中备忘的信息、删除选中备忘,或者清空所有备忘。主界面列表会根据这些操作实时更新。 4. 数据持久化...
1. 新建备忘:通过输入框获取用户输入,保存至数据结构,并更新显示列表。 2. 查看备忘:选择备忘后,展示具体内容。 3. 修改备忘:选定备忘,弹出编辑窗口,用户修改后更新数据。 4. 删除备忘:用户确认后,从数据...