Tomcat——简介、目录结构等

目录


软件的体系结构

C/S结构和B/S结构的区别

跳转到目录
C/S结构

  • VB,Delphi,VC++,C#,Java awt/swing:比如桌面QQ,扫雷,拱猪等运行在桌面的程序.
  • 特点:服务端主要就是一个数据库,把所有业务逻辑以及界面的渲染操作交给客户端完成.
  • 优点:安全,用户界面很丰富,用户体验好等.
  • 缺点:每次升级都需要重新安装,针对于不同的操作系统开发,可移植性很差.

B/S结构

  • JSP,ASP,PHP:基于浏览器访问的应用
  • 特点:业务逻辑交给服务端完成,客户端仅仅只做界面渲染和数据交换,B/S是特殊的C/S,此时浏览器充当了基于HTTP协议的客户端.
  • 优点:只开发服务端,可以跨平台,移植性很强等.
  • 缺点:安全性较低,用户体验较差等.
  • 浏览器和服务器的职责
    在这里插入图片描述
Web资源分类

跳转到目录
静态资源

  • html, css, JavaScript等
  • 所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析.

动态资源

  • servlet, jsp, php, asp
  • 每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览器.
    在这里插入图片描述
Web服务器

跳转到目录

  • Web服务器的作用是接收客户端的请求,给客户端作出响应。
  • 对于JavaWeb程序而已,还需要有JSP/Servlet容器,JSP/Servlet容器的基本功能是把动态资源转换成静态资源,当然JSP/Servlet容器不只这些功能.
  • 常见的Web服务器软件
    web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目.

    Tomcat(Apache):当前应用最广的JavaWeb服务器,;
    JBoss(Redhat红帽):支持JavaEE,应用比较广;
    GlassFish(Orcale):Oracle开发JavaWeb服务器,应用不是很广;
    Resin(Caucho):支持JavaEE,应用越来越广;
    Weblogic(Orcale):要钱的!支持JavaEE,适合大型项目;
    Websphere(IBM):要钱的!支持JavaEE,适合大型项目;


Tomcat

跳转到目录

  • 简介
    Tomcat 是 Apache 基金组织开发的一个中小型 JavaEE 服务器,是开源免费的,Tomcat是常见的免费的web服务器,Tomcat是使用Java语言编写的一个服务器(程序),要运行Tomcat,必须得有JRE;

  • 安装、环境变量配置
    参考这篇博客: https://blog.csdn.net/qq_40881680/article/details/83582484

  • 访问Tomcat
    http://服务器所在主机的IP:服务器的端口号/资源名字.
    注意: 访问本地IP为 127.0.0.1 或 localhost

  • 目录结构

    • bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat8.exe、tomcat8w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;
    • conf:这是一个非常重要的目录,这个目录下有四个最为重要的配置文件.

    server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;
    tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
    web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
    context.xml:对所有应用的统一配置,通常我们不会去配置它。

    • lib:存放了Tomcat软件启动运行的依赖jar文件.
    • logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
    • temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!
    • webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。
    • work:工作目录,存放了jsp翻译成Servlet的java文件以及字节码文件.
  • 常见问题
    跳转到目录

  1. 还没启动Tomcat或者Tomcat启动失败,就去访问地址.
  2. Tomcat启动成功,但是出现404的页面.
    可能我们自己把资源的路径写错了,自己检查,如访问了一个不存在的页面.
  3. Tomcat还未关闭,又再次重新启动Tomcat.
    出现:java.net.BindException: Address already in use: JVM_Bind异常.
    说明该程序的端口以及被其他程序所占用.
    注意: 出现错误后, 要习惯去查看日志信息.Tomcat根/logs/catalina.2015-12-31.log
    在这里插入图片描述
  4. 要保证XML内容编码和文件编码相同,若有中文,建议使用UTF-8,否则不能使用中文.
  5. 启动报错
    1. 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程
      * netstat -ano
      2. 温柔:修改自身的端口号
      * conf/server.xml
      * <Connector port=“8888” protocol=“HTTP/1.1” connectionTimeout=“20000”
      redirectPort=“8445” />
      * 一般会将tomcat的默认端口号修改为80。80端口号是http协议的默认端口号。
      * 好处:在访问时,就不用输入端口号
  • 常见配置
    1、修改Tomcat的默认端口:默认端口是8080,HTTP协议的默认端口是80.
    • 进入Tomcat根/conf/找到server.xml文件
    • 默认是在第70行,Connector元素的 port属性:
    • 配置为80端口(80端口是http协议的默认端口):
      http://baidu.com:80/index.php 等价于
      http://baidu.com/index.php
    • 重新启动Tomcat,看到效果;

JavaWeb应用的目录结构

跳转到目录

  • WEB应用程序指供浏览器访问的程序,通常也简称为web应用。
    • 一个web应用由多个静态web资源动态web资源组成.

一、创建静态应用

  • 在Tomcat的目录webapps文件夹下创建一个目录(如hello)
  • 在webapps\hello\下创建静态资源(html, js等)index.html
  • 启动Tomcat
  • 打开浏览器访问http://localhost:8080/hello/index.html

二、创建动态应用

  • 在webapps下创建hello1目录
  • 在webapps\hello1\下创建WEB-INF目录
  • 在webapps\hello1\WEB-INF\下创建web.xml
  • 在webapps\hello1\下创建index.html
  • 打开浏览器访问http://localhost:8080/hello/index.html
    在这里插入图片描述
  • hello:应用目录,hello就是应用的名称;
  • index.html:应用资源。应用下可以有多个资源,例如css、js、html、jsp等,也可以把资源放到文件夹中,例如:hello\html\index.html,这时访问URL为:http://localhost:8080/hello/html/index.html;
  • WEB-INF:这个目录名称必须是大写,这个目录下的东西是无法通过浏览器直接访问的,也就是说放到这里的东西是安全的.
  • web.xml:应用程序的部署描述符文件,可以在该文件中对应用进行配置.
  • classes:存放class文件的目录.
  • lib:存放jar包的目录.

部署JavaWeb项目

跳转到目录
一、直接将项目放在webapps目录下即可

  • /hello:项目的访问路径–>虚拟目录
  • 简化部署:将项目打成一个war包,再将war包放置到webapps目录下。
    war包会自动解压缩

二、配置conf/server.xml文件

  • Host标签体内配置
    <Context docBase="C:\hello" path="/zy" />
    • path:指定当前应用的名称(虚拟目录)
    • docBase:指定应用的物理位置
    • 浏览器访问路径:http://localhost:8080/zy/index.html
      在这里插入图片描述

三、在conf\Catalina\localhost创建任意名称的xml文件

  • 在文件中编写 比如 abc.xml
    <Context docBase="C:\hello" /> 此时的path虚拟目录就为xml文件的名称
  • 访问 http://localhost/abc/index.html
发布了149 篇原创文章 · 获赞 68 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/m0_37989980/article/details/103862389