web基础-Tomcat
一、什么是Tomcat
Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,是JSP和Serlvet的一个容器,实现了对 Servlet 和 JSP 的支持。对于自己写的页面只能自己访问,别人不能远程访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个程序。
二、Tomcat安装与启动
前提条件
Tomcat 8.5 要求 JDK 版本为 1.7 以上。
进入 Tomcat 官方下载地址 选择合适版本下载,并解压到本地。
Windows
添加环境变量 JAVA_HOME,值为 JDK 的安装路径,Tomcat会通过JAVA_HOME找到所需要的JDK。
进入安装目录下的 bin 目录,运行 startup.bat 文件,启动 Tomcat。
Linux / Unix
下面的示例以 8.5.24 版本为例,包含了下载、解压、启动操作。
# 下载解压到本地 wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz tar -zxf apache-tomcat-8.5.24.tar.gz # 启动 Tomcat ./apache-tomcat-8.5.24/bin/startup.sh
在浏览器地址栏输入http://localhost:8080,如果能够出现Tomcat页面,说明配置成功了!
启动Tomcat时候出现的问题:
1. 如果在使用Tomcat时出现了Error deploying web application directory web222
,很大原因就是jdk和tomcat的版本不匹配。目前,jdk8不能匹配tomcat7.0,所以要降低jdk版本【换成JDK7】。
2. JAVA_HOME配置问题,找不到JDK。
3. 端口号被占了:
- 第一种方法:在cmd输入netstat -anb查看谁占用了该端口【Tomcat默认的是8080】,在进程中关闭它
- 第二种方法:主动改变tomcat的端口, 到tomcat主目录下的conf/server.xml文件中修改,把8080端口改成是8088或者是其他的。
三、Tomcat目录
Tomcat安装后目录:
bin:启动、关闭和其他脚本, * .sh文件(对于Unix系统)是* .bat文件的功能重复(对于Windows系统)。
conf:配置文件及相关数据文件存放目录,如server.xml,tomcat-users.xml,web.xml;
logs:默认的日志文件存放目录,如访问日志,可以通过server.xml文件配置到其他目录;
lib:Tomcat使用的库文件存放目录,如Servlet规范的API;
temp:临时文件的工作目录,如上传大文件时的缓存数据会存储到这里;
webapps:我们的应用程序部署目录,可以通过server.xml文件配置;
work:Tomcat工作目录,如存放JSP编译后的类文件。
Tomcat配置文件:
server.xml: Tomcat核心配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息。
context.xml:为部署与此Tomcat实例上的web应用程序提供的默认配置文件,每个webapp都可以使用独有的context.xml,通常放置于webapp目录的META-INF子目录中,常用于定义会话管理器,Realm已经JDBC等。
web.xml:为部署与Tomcat实例上的所有web应用程序提供部署描述符,通常用于为webapp提供默认的servlet定义和基本的MUIME映射表。
tomcat-users.xml:Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现。
catalina.policy:当基于-securty选项启动tomcat实例时会读取此配置文件;此文件是JAVA的安全策略配置文件,用于配置访问codebase(代码库)或某些Java类的权限。
catalina.properties:java属性定义文件,设定类加载器路径,安全包列表和一些调整性能的参数信息。
logging.properties:定义日志相关的配置信息,如日志级别、文件路径等。
Web应用部署目录结构:
我们的应用程序一般会打包成归档格式(.war),然后放到Tomcat的应用程序部署目录。而webapp有特定的组织格式,是一种层次型目录结构,通常包含了servlet代码文件、HTML/jsp页面文件、类文件、部署描述符文件等等,相关说明如下:
/:web应用程序的根目录,可以存放HTML/JSP页面以及其他客户端浏览器必须可见的其他文件(如js/css/图像文件)。在较大的应用程序中,还可以选择将这些文件划分为子目录层次结构。
/WEB-INF:此webapp的所有私有资源目录,用户浏览器不可能访问到的,通常web.xml和context.xml均放置于此目录。
/WEB-INF/web.xml:此webapp的私有的部署描述符,描述组成应用程序的servlet和其他组件(如filter),以及相关初始化参数和容器管理的安全性约束。
/WEB-INF/classes:此webapp自有的Java程序类文件(.class)及相关资源存放目录。
/WEB-INF/lib:此目录存放webapp自有的JAR文件,其中包含应用程序所需的Java类文件(及相关资源),例如第三方类库或JDBC驱动程序。
1. Tomcat中更改网站根目录和默认页的配置方法
1.tomcat原来的默认根目录是http://localhost:8080,如果想修改访问的根目录,可以这样: 找到tomcat的server.xml(在conf目录下),找到: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> 在</Host>前插入: <Context path="" docBase="D:/tomcat/" debug="0"/> 其中D:/tomcat/就是我想设置的网站根目录,然后重启tomcat。 再次访问http://localhost:8080时,就是直接访问D:/eclipse3.3/jb51.net/tomcat/目录下的文件了。 2.tomcat的web.xml(在conf目录下),在该文件中找到: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> 这是tomcat默认的3个文件,当你输入指定路径后,tomcat会自动查找这3个页面。如果你想让tomcat自动找到自己的页面,比如main.jsp。可以修改上面信息为: <welcome-file-list> <welcome-file>main.jsp</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
2. 配置虚拟目录
为什么要配置虚拟目录:
- 如果把所有web站点的目录都放在webapps下,可能导致磁盘空间不够用,也不利于对web站点目录的管理【如果存在非常多的web站点目录】。
- 把web站点的目录分散到其他磁盘管理就需要配置虚拟目录【默认情况下,只有webapps下的目录才能被Tomcat自动管理成一个web站点】。
- 把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。
配置虚拟目录一:
1)在其他盘符下创建一个web站点目录,并创建WEB-INF目录和一个html文件。
2) 找到Tomcat目录下/conf/server.xml文件。
3)在server.xml中的节点下添加如下代码。path表示的是访问时输入的web项目名,docBase表示的是站点目录的绝对路径。
<Context path="/web1" docBase="D:\web1"/>
配置虚拟目录二:
1)进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。
2)xml文件的代码如下,docBase是你web站点的绝对路径。
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="D:\web1"
reloadable="true">
</Context>
3. 配置临时域名
访问Tomcat服务器的方式:
- 使用localhost域名访问【localhost代表本机】
- 使用ip地址127.0.0.1访问【该ip地址也是本机】
- 使用机器名称访问【只限用于本机上或者局域网】
- 使用本机IP地址访问【在cmd中输入ipconfig可以查询到本机IP地址】
- 还可以为机器配置临时域名
配置临时域名的步骤:
1)打开到C:\Windows\System32\drivers\etc下,找到hosts文件。
2)在hosts文件下配置临时域名。
4. 配置虚拟主机
什么是虚拟主机:多个不同域名网站共存在同一个Tomcat中。
为什么要有虚拟主机:我现在开发了4个网站,有4个域名。如果我不配置虚拟主机,一个Tomcat服务器运行一个网站,我就需要4台电脑才能把4个网站运行起来。
配置步骤:在Tomcat的server.xml文件中进行添加主机名
<Host name="zhongfucheng" appBase="D:\web1"> <Context path="/web1" docBase="D:\web1"/> </Host>
四、Tomcat流程图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通