美文网首页
二、TOMCAT

二、TOMCAT

作者: 圣贤与无赖 | 来源:发表于2018-08-28 20:02 被阅读19次

    一、Web开发概述

    WEB通信

    WEB采用B/S通信模式,通过超文本传送协议(HTTP, Hypertext transport protocol)进行通信。通过浏览器地址栏编写URL,向服务器发送一个请求,服务器端根据请求进行相应的处理,处理完成之后,会向浏览器作出一个响应,及将服务器端资源发送给浏览器。


    WEB通信.png

    软件架构

    C/S架构:Client/Server 客户端/服务器。要求客户端电脑安装一个客户端程序。
    常见应用:QQ,迅雷,360,旺旺 等

    优点:

    1. 用户体验好,效果炫
    2. 对信息安全的控制较强
    3. 应用服务器运行数据负荷较轻,部分计算功能在客户端完成。

    缺点:

    1. 占用硬盘空间
    2. 维护麻烦
    3. 安装使用依赖其他条件

    B/S架构:Browser/Server 浏览器/服务器 。通过浏览器与服务器交互,不需要安装其他程序
    常见应用:网银系统,淘宝,京东 12306 等

    优点:

    1. 维护和升级简单,无缝升级。
    2. 不用必须安装程序,操作系统内置了浏览器。

    缺点:

    1. 动画效果受浏览器限制
    2. 对信息安装控制较差。例如:网银就需要使用U盾,在浏览器端加密。
    3. 应用服务器运行数据负荷较重。大部分计算都在服务器端,增加服务器压力。使用Ajax可以改善部分用户体验。

    WEB服务器

    JCP(Java Community Process) Java技术规范制定与更新的国际组织。主要维护规范包括:J2ME、J2SE、J2EE,XML等。
    J2EE 企业级开发Java规范。标准规范包括:servlet、jsp、jdbc、xml、jta、javamail等。在java中规范就是接口。J2EE又称为JavaEE。
    WEB服务器对JavaEE规范部分或全部支持,也就是WEB服务器实现部分或全部接口。
    常见的WEB服务器:

    1. Tomcat::Apache组织提供一个免费的小型的服务器软件。支持Servlet和JSP规范。
    2. WebLogic:Bea公司的一个收费的大型的服务器软件,后被Oracle收购。支持EE的所有的规范
    3. WebSphere:IBM公司的一个收费的大型的服务器软件,支持EE的所有的规范。
    4. JBoss:是一个基于J2EE的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器,JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
    web服务器.png

    web项目结构
    在JavaEE规范中,开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。

         项目名称
                |-----静态资源.HTML,CSS,JS
                |-----WEB-INF        浏览器不能直接访问,但通过Java程序可以
                           |----web.xml  当前WEB项目的核心配置,Servlet2.5必须有,3.0可省略。
                           |----lib       当前WEB项目所需要的第三方的jar的存放位置。
                           |----classes  Java源码编译后生成class文件存放的位置。
        
    

    二、TOMCAT概述

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
    支持Servlet和JSP 规范,且最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。
    Apache 软件基金会有两款常用软件:apache web 服务器 和 tomcat web服务器。

    • apache web服务器专门处理HTML页面的。
    • tomcat web服务器,不仅可以处理servlet和jsp,而且也能处理html页面,不过不如apache web服务器。
    • 在开发中,一般使用tomcat处理servlet和jsp,使用apache服务器处理html页面。及apache和tomcat被整合在一起使用。


      tomcat.png

    Tomcat版本

    tomcat 目前存在很多版本,希望大家了解tomcat的版本,从而知道自己的创建的项目使用的是几版本规范,不同版本的规范技术可能不同。我们学习的WEB5.0,Servlet规范2.5,tomcat至少使用6版本。
    官网地址:http://tomcat.apache.org/whichversion.html

    Tomcat版本 Servlet版本 JSP版本 EL版本 JavaEE版本 JDK版本
    9.0.x 4.0 2.4? 3.1? ? 8 (1.8)
    8.0.x 3.1 2.3 3.0 7.0 7(1.7)
    7.0.x 3.0 2.2 2.2 6.0 6 (1.6)
    6.0.x 2.5 2.1 N/A 5.0 5 (1.5)

    三、使用tomcat

    1. 安装
      步骤一:下载一个tomcat服务器软件.
      http://tomcat.apache.org/download-70.cgi
      获取Tomcat安装程序包
      tar.gz(zip)文件是Linux操作系统下的安装版本
      exe文件是Windows系统下的安装版本
      zip文件是Windows系统下的压缩版本
      安装Tomcat --- 必须配置JAVA_HOME
      步骤二:解压下载好的zip文件.
      将解压后的文件copy到一个没有中文和空格的路径下即可.
      例如:D:\java\tomcat\apache-tomcat-7.0.68

    2. 目录结构


      tomcat目录结构.png
    • bin:脚本目录
      启动脚本:startup.bat
      停止脚本:shutdown.bat

    • conf:配置文件目录
      核心配置文件:server.xml
      用户权限配置文件:tomcat-users.xml
      所有web项目默认配置文件:web.xml

    • lib:依赖库,tomcat和web项目中需要使用的jar包

    • logs:日志文件.
      localhost_access_log..txt tomcat记录用户访问信息,星表示时间。
      例如:localhost_access_log.2016-02-28.txt

    • temp:临时文件目录,文件夹内内容可以任意删除。

    • webapps:默认情况下发布WEB项目所存放的目录。

    • work:tomcat处理JSP的工作目录。

    1. 启动和访问
      1.tomcat解压目录/bin/startup.bat 双击运行启动tomcat
      2.访问路径:http://localhost:8080/
      tomcat默认首页.png
      3. 退出:
      在bin目录 shutdown.bat
      直接关闭窗口
      ctrl+c
    1. 发布web应用至tomcat
      Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
      虚似目录的映射有三种方式:
    • 让tomcat自动映射: tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问

    • 在server.xml文件的host元素中配置
      在文件中<Host>标签,在</Host>结束前<Context path=”/访问的虚拟路径” docBase=”应用所在位置”/>


      在server.xml文件的host元素中配置.png
    • 在Tomcat6中,不再建议在server.xml文件中配置context元素,
      在tomcat/conf/Catalina/localhost目录下新建一个aaa.xml文件
      在文件中写入:
      <Context docBase=”应用所在位置” />
      其实xml文件的名称 aaa就是上一种方式中 path的值.

    四、Tomcat常见问题

    1. JAVA_HOME的配置
      如果没有配置JAVA_HOME环境变量,在双击“startup.bat”文件运行tomcat时,将一闪立即关闭。且必须配置正确,及JAVA_HOME指向JDK的安装目录。


      JAVA_HOME的配置
    2. 端口号冲突
      当同一台计算机启动两个tomcat时,第二个tomcat将会在控制台抛异常,摘要信息如下:

    严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
    java.net.BindException: Address already in use: JVM_Bind <null>:8080
    ...
    Caused by: java.net.BindException: Address already in use: JVM_Bind
    ...

    控制台将出现大量异常信息,描述的是3个端口被占用(8080、8009、8005 )
    通过** $JAVA_HOME/conf/server.xml**修改端口号。
    解决方式:
    a) server.xml在tomcat安装目录的conf文件夹下面:


    image.png 3个端口1.png
    3个端口2.png
    3个端口3.png

    b) 在cmd打开的窗口中输入 netstat –aov
    查看到占用端口的程序的PID 在任务管理器中找到PID对应的程序结束进程。
    注意:有的时候这个进程是一个系统进程,结束不了,只能采用第一种方式。

    1. CATALINA_HOME问题,CATALINA_HOME配置的是tomcat的根目录

    相关文章

      网友评论

          本文标题:二、TOMCAT

          本文链接:https://www.haomeiwen.com/subject/rnmqwftx.html