美文网首页
二、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