Web服务器根据对JavaEE支持的能力分类

一、常见web服务器种类

Web服务器根据对javaEE支持的能力分为两大类:

1、 JavaEE服务器(应用服务器)

1) IBM公司  WebSphere

2) BEA公司  WebLogic

3) JBoss 公司 JBoss

4) Apache组织 Geronimo(免费WebSphere社区版)

2、 Web容器(servlet/jsp容器)只支持JAVAEE的部分技术

1) Apache组织 Tomcat

2) Webtide 公司 Jetty

二、 Tomcat背景

自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。

三、 Tomcat版本与对应的其他版本之间的对应关系:

不同的版本之间的兼容性不同一般会遇到的问题:

  1. tomcat无法识别项目
  2. 导入源码会无法识别
  3. 项目发布启动报错

 

 

tomcat各版本的要求

Tomcat

JDK

JavaEE

Servlet

JSP

9.X8及以上JavaEE84.02.4?
8.x7及以上JavaEE73.12.3
7.x6及以上JavaEE63.02.2
6.x5及以上JavaEE52.52.1
5.x1.4及以上JavaEE1.42.42.0
4.x1.3及以上JavaEE1.32.31.2
3.x1.1及以上JavaEE1.32.21.1

 

四、Tomcat目录结构

1.bin---->这个目录只要是存放了一些bat文件或者sh文件。比如说我们需要启动tomcat的bat就在这个目录下

  启动tomcat的方式:

  1).点击 startup.bat可以启动tomcat

  2).在黑窗口下运行 catalina.bat 后面需要跟命令:start启动  stop关闭

  3).关闭容器 shutdonw.bat或者是直接关闭黑窗口。

 

2.conf--->这个目录中存放的都是一些配置文件 xml

3.lib---->这个目录中存放的是一些jar文件。

这里的jar文件重要有两大类:

1)tomcat自身的jar,

2)实现javaEE平台下部分标准的实现类(比如:jsp  servlet...)

4.log---->存放的都是tomcat的日志文件。如果我们想了解黑窗口在启动时的打印信息,可以进到这个目录下

  找到cataline.log文件在这个文件中可以看到相关记录。

5.temp---->在这个目录中存放的是tomcat在运行时所产生的一些临时文件。这些文件是否存在并不影响      tomcat的运行,所以这个目录下的内容可以被删除掉。但是:temp文件夹不能删。

6.webapps---->这个目录主要是存放需要让tomcat去管理的资源的目录。

7.work---->这个目录主要存放的是tomcat对jsp编译完后得原文件以及class文件。

8.doc:存放Tomcat文档;

五、Server.xml配置文件简介

  server:          1、port 指定一个端口,这个端口负责监听关闭tomcat的请求 
          2、shutdown 指定向端口发送的命令字符串 
    service:          1、name 指定service的名字 
    Connector (表示客户端和service之间的连接):
          1、port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求 
          2、minProcessors 服务器启动时创建的处理请求的线程数 
          3、maxProcessors 最大可以创建的处理请求的线程数 
          4、enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址 
          5、redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号 
          6、acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理 
          7、connectionTimeout 指定超时的时间数(以毫秒为单位) 
    Engine(表示指定service中的请求处理机,接收和处理来自Connector的请求):
          1、defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的 
    Context (表示一个web应用程序):
          1、docBase 应用程序的路径或者是WAR文件存放的路径 
          2、path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/**** 
          3、reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序 
    host (表示一个虚拟主机):
          1、name 指定主机名 
          2、appBase 应用程序基本目录,即存放应用程序的目录 
          3、unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序 
    Logger (表示日志,调试和错误信息):
          1、className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口 
          2、prefix 指定log文件的前缀 
          3、suffix 指定log文件的后缀 
          4、timestamp 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt
  Realm (表示存放用户名,密码及role的数据库):
          1、className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口 
   Valve (功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样):
          1、className 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息 
    directory(指定log文件存放的位置):
    1、pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多

 

Tomcat的可视化界面管理
用户配置
      在进行具体Tomcat管理之前,先给tomcat添加一个用户,使这个用户有权限来进行管理。 
      打开conf目录下的tomcat-users.xml文件,在相应的位置添加下面一行: 
    <user name="user"password="user" roles="standard,manager"/> 
    然后重起tomcat,在浏览器中输入http://localhost:8080/manager/,会弹出对话框,输入上面的用户名和密码即可。

六、关于tomcat的部署项目的方式:

  1.   静态部署

tomcat部署项目三种方式:

1.放到webapps目录下:

直接将web项目文件件拷贝到webapps 目录中

     Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将web项目打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war  myweb

     webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:

<Host name="localhost" appBase="webapps"

       unpackWARs="true" autoDeploy="true"

       xmlValidation="false" xmlNamespaceAware="false">

将appBase修改即可。

 

2.修改server.xm 的host节点。添加<Context  path="/访问资源目录" docBase="e:/xxx"/>

在server.xml中指定。在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个web应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。

在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:

<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">

</Context>

或者

<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>

或者

<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>

 

说明:

path是虚拟路径;

docBase 是应用程序的物理路径;

workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

 

debug 则是设定debug level,  0表示提供最少的信息,9表示提供最多的信息

privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet

reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署

antiResourceLocking 和antiJARLocking  热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。

 

3.在conf目录下找到或者是新建文件夹(Catalina---->localhost----->访问资源的   xml-----><Context....../>)

创建一个Context文件在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:

<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>

 

2、动态部署也称之为热部署

2.1 登陆tomcat管理控制台:http://localhost:8080/ ,输入用户名和密码后便可管理应用并动态发布。

  在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。

  XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: 其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。

  2.2 如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值