编程的蜗牛

颓废,始于首次的懒惰与原谅。

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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流程图

 

 

 

 

 

 

 

 

 

 

 

posted on   粼溪  阅读(76)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示