zoukankan      html  css  js  c++  java
  • Tomcat——简介、目录结构等

    软件的体系结构

    1.C/S结构    Client/Server 客户端/服务端
        *VB,Delphi,VC++,C#,Java awt/swing:比如桌面QQ,扫雷,拱猪等运行在桌面的程序.
        *特点:在服务端主要就是一个数据库,把所有业务逻辑以及界面的渲染操作交给客户端完成.
        *优点:安全,用户界面很丰富,用户体验好等.
        *缺点:安装,部署,开发,维护麻烦
    2.*B/S	Browser/Server 浏览器/服务端
        *优点:安装,部署,开发,维护简单
        *缺点:对硬件要求打
            如果应用过大,用户体验会受到影响
        ![](https://img2020.cnblogs.com/blog/1668748/202004/1668748-20200424230054418-182685152.png)
    

    Web资源分类

    1.静态资源
        *html, css, JavaScript等
        *所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析.
    2.动态资源
        *servlet, jsp, php, asp
        *每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览器
        ![](https://img2020.cnblogs.com/blog/1668748/202004/1668748-20200424230438723-1274421277.png)
    

    Web服务器

    1.Web服务器的作用是接收客户端的请求,给客户端作出响应。
    2.对于JavaWeb程序而已,还需要有JSP/Servlet容器,JSP/Servlet容器的基本功能是把动态资源转换成静态资源,当然JSP/Servlet容器不只这些功能.
    3.常见的Web服务器软件
        web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目.
            Tomcat(Apache):当前应用最广的JavaWeb服务器,;
            JBoss(Redhat红帽):支持JavaEE,应用比较广;
            GlassFish(Orcale):Oracle开发JavaWeb服务器,应用不是很广;
            Resin(Caucho):支持JavaEE,应用越来越广;
            Weblogic(Orcale):要钱的!支持JavaEE,适合大型项目;
            Websphere(IBM):要钱的!支持JavaEE,适合大型项目
    

    Tomcat

    1.简介
        Tomcat 是 Apache 基金组织开发的一个中小型 JavaEE 服务器,是开源免费的,Tomcat是常见的免费的web服务器,Tomcat是使用Java语言编写的一个服务器(程序),要运行Tomcat,必须得有JRE;
    2.安装、环境变量配置
        参考这篇博客: https://blog.csdn.net/qq_40881680/article/details/83582484
    3.访问Tomcat
    4.http://服务器所在主机的IP:服务器的端口号/资源名字.
        注意: 访问本地IP为 127.0.0.1 或 localhost
    5.目录结构
        1.bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat8.exe、
            tomcat8w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止
        2.conf:这是一个非常重要的目录,这个目录下有四个最为重要的配置文件.
            1.server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;
            2.tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。
            3.web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果              
              服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
            4.context.xml:对所有应用的统一配置,通常我们不会去配置它。
        3.lib:存放了Tomcat软件启动运行的依赖jar文件
        4.logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
        5.temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!
        6.webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。
        7.work:工作目录,存放了jsp翻译成Servlet的java文件以及字节码文件.
    6.常见问题
        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
        ![](https://img2020.cnblogs.com/blog/1668748/202004/1668748-20200425164313827-1324568623.png)
        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协议的默认端口号。
                * 好处:在访问时,就不用输入端口号
    

    JavaWeb应用的目录结构

    *WEB应用程序指供浏览器访问的程序,通常也简称为web应用。 
        *一个web应用由多个静态web资源和动态web资源组成.
    1.创建静态应用
        1.在Tomcat的目录webapps文件夹下创建一个目录(如hello)
        2.在webappshello下创建静态资源(html, js等)index.html
        3.启动Tomcat
        4.打开浏览器访问http://localhost:8080/hello/index.html
    2.创建动态应用
        1.在webapps下创建hello1目录
        2.在webappshello1下创建WEB-INF目录
        3.在webappshello1WEB-INF下创建web.xml
        4.在webappshello1下创建index.html
        5.打开浏览器访问http://localhost:8080/hello/index.html
        ![](https://img2020.cnblogs.com/blog/1668748/202004/1668748-20200425165040255-1375798143.png)
            *hello:应用目录,hello就是应用的名称;
            *index.html:应用资源。应用下可以有多个资源,例如css、js、html、jsp等,也可以把资源放到文件夹中,例如:hellohtmlindex.html,这时访问URL为:http://localhost:8080/hello/html/index.html;
            *WEB-INF:这个目录名称必须是大写,这个目录下的东西是无法通过浏览器直接访问的,也就是说放到这里的东西是安全的.
            *web.xml:应用程序的部署描述符文件,可以在该文件中对应用进行配置.
            *classes:存放class文件的目录.
            *lib:存放jar包的目录.
    

    部署JavaWeb项目

    1.直接将项目放在webapps目录下即可
        */hello :访问虚拟路径
        *简化部署:将项目打成一个war包,再将war包放置到webapps目录下。war包会自动解压
    2.配置conf/server.xml文件
        在Host标签体内配置
        <Context docBase"C:hello" path="/zy/">
            *path:指定当前应用的名称(虚拟目录)
            *docBase:表示把哪一路径下的项目给部署起来
            *浏览器访问路径:http:://localhost:8080/zy/index.html
    3.在conf/Catalina/localhost创建任意名称的xml文件
        1.在文件中编写 比如 abc.xml
            *<Context docBase="C:hello" /> 此时的path虚拟目录就为xml文件的名称
        2.访问 http://localhost/abc/index.html
    

    IDEA与tomcat的相关配置

    1.IDEA会为每一个tomcat部署的项目单独建立一份配置文件
        *Using CATALINA_BASE: "C:UsersSunny.IntelliJIdea2019.3system	omcat\_coderZYGui"
    2.工作空间项目 和 tomcat部署的web项目位置
        *E:JavaEEcodeidea_codecoderZYGuioutartifacts
        WEB-INF目录下的资源不能被浏览器直接访问。
    

    断点调试

  • 相关阅读:
    WF4.0 Beta1 自定义跟踪
    WF4.0 Beta1 流程设计器与Activity Designer
    新版本工作流平台的 (二) 权限算法(组织结构部分)
    WF4.0 Beta1 WorkflowInvoker
    WF4.0 基础篇 (十) Collection 集合操作
    WF4.0 基础篇 (十五) TransactionScope 事物容器
    WF4.0 基础篇 (六) 数据的传递 Arguments 参数
    WF4B1 的Procedural Activity 之InvokeMethod , InvokeMethod<T> 使用
    WF4.0 Beta1 异常处理
    WF4.0 Beta1 变量 Variables
  • 原文地址:https://www.cnblogs.com/linjing111/p/12774190.html
Copyright © 2011-2022 走看看