`
charmo
  • 浏览: 48783 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

web应用程序的布署:Tomcat详解

阅读更多
1.web应用程序的结构
 Web 应用程序是 servlet、JSP 页面、静态页面、类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器。Web 应用程序存在于结构化层次结构的目录中,该层次结构是由 Java Servlet 规范定义的。Web 应用程序的根目录包含直接存储或存储在子文件夹中的所有公共资源,比如图像、HTML 页面等。构成:Web应用由Web组件(一组Java类库)、html文件,静态资源文件(如图像)、帮助类和库组成。
 webApp配置:在Web应用被部署以后,就可以对其行为的某些方面进行配置。配置信息通过Web应用部署描述文件来维护,该文件是一种XML格式的文本文件。部署描述文件必须遵从Java Servlet规范中描述的模式。
 Web应用归档文件 :如果要发布一个Web应用,你可以将其使用jar命令打包到一个Web应用归档文件(Web application archive,WAR)中,WAR与JAR类似,都是用作Java类库的包。一个war文件应完整包括了一个WebApp必须的相关类库和资源文件(也就是具有 .war 扩展名而不是 .jar 的 JAR 文件)文件。当容器看到扩展名 .war 时,它会认识到它是一个 Web 应用程序存档文件,解压缩该文件,并自动部署应用程序。
 结构:
   yourWebApp\
          ...html/jsp/资源文件
          WEB-INF\web.xml ,Web应用的部署描述文件,必须!
          lib\ 相关jar类库,标签库
          classes\ 相关class文件
每个web应用必须存在着一个特殊目录,称为 WEB-INF,它包含对于客户机不能公共访问的所有文件。WEB-INF 目录像下面那样进行组织:
• /WEB-INF/web.xml 部署描述符。
• 存放 servlet 和工具类的 /WEB-INF/classes/ 目录。容器使这些类对于 Web 应用程序类加载器可用。
• 存放 JAR 文件的 /WEB-INF/lib/ 目录。这些文件包含 servlet、bean 和其他工具类,它们对于 Web 应用程序是有用的。容器把来自该目录的所有 JAR 文件,添加到 Web 应用程序的类路径中。
2.tomcat介绍
Tomcat 是一个符合javaEE标准的Servlet/Jsp 容器 . 不但支持运行 Servlet 和 Jsp , 还具备作为商业 Java Web 应用容器的特性 , 如 Tomcat 管理和控制平台 , 安全域管理等。是著名的开源组织Apache下面的一个子项目。是Java开源界应用最优秀最广泛的产品之一!
 Web服务两种类别:
    面向表示的:注重页面表现内容,一般体现为HTML文件,如用网页三剑客编辑,用IIS,Apache发布。
    面向服务的:与API调用类似,是一种细粒度服务,一般为面向表示的服务 来调用。Java中的Servlet、jsp技术。可用Tomcat,Jboss等发布。
 Servlets:是Java编程语言中用于动态地处理请求和建立响应的一种类,纯Java代码,安全符合Java语法和编程规则。
 JSP:基于文本的脚本语言,允许直接在html文档中加入Java代码,除符合Java编程规则之外,还有jsp规范的指令和标记语法。

       它们各有千秋。Servlets最适合于面向服务的Web应用,同时还擅长于管理面向表示的Web服务的控制功能,例如发送请求和处理非原文的数据。而JSP页面则更适合于产生基于文本的标记,例如:HTML、SVG、WML以及XML等。
3.WEB应用程序与本机应用程序区别
一个Web应用就是一组程序,由Web容器负责管理。我们一般所说的应用程序Application,是同一操作系统负现管理
关键是要理解:Web Container的概念,容器,就像一个公司!
4.Tomcat目录结构说明
/bin :存放 windows 或 Linux 平台上启动和关闭 Tomcat 的脚本文件
/conf:存放 Tomcat 服务器的各种配置文件,其中最重要的是 server.xml
/server:包含三个子目录: classes 、 lib 和 webapps
/lib;/common/lib; /shared/lib :类库及class文件
/logs :存放 Tomcat 的日志文件及web应用的日志文件
/webapps:默认的发布Web应用程序的目录
/work:Tomcat 把由 JSP 生成的 Servlet 放于此目录下
5.Tomcat服务器配置
Tomcat服务器的配置通过在conf/server.xml文件中配置完成,如下示例
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" />
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" reload="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/netjavaTest" docBase="G:\\netjavawebApp" debug="0" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_examples_log." suffix=".txt" timestamp="true" /> 
</Context>
</Host>
Host元素说明:
 name :指定虚拟主机名字
 debug:指定日志级别
 appBase :指定虚拟主机目录,可以是绝对目录,也可以指定相对于 <CATALINA_HOME> 的相对目录。如果此项没有设定则默认的是 <CATALINA_HOME>/webapps 。
 unpackWARs :如果此项设置为 true , 表示将把 Web 应用的 WAR 文件先展开为开放目录结构后再运行。如果为 false , 则直接运行 WAR 文件
 autoDeploy :如果此项设置为 true , 表示当 Tomcat 服务器处于运行状态时,能够监测appBase下的文件, 如有新的 Web 加入进来,则会自动发布这个 Web 应用。
 alias :指定虚拟主机的别名,可以指定多个别名。
 deployOnStarup :如果此项设为 true, 则表示 Tomcat 服务器启动时会自动发布 appBase 目录下的所有 Web 应用。如果 Web 应用在 server.xml 中没有相应的 <context> 元素 , 则将采用默认的 Context 配置。 deployOnStarup 的默认设置是 true
Context元素说明
 path :指定 Web 应用的 URL 入口
 docBase :指定 Web 应用的文件路径,可以给定绝对路径,也可以是相对于 Host 的 appBase 属性的相对路径。如果 Web 应用采用开放目录结构,则指定 Web 应用的 根目录;如果 Web 应用是个 WAR 文件,则指定 WAR 文件的路径。
 reloadable :如果为 true ,Tomcat 服务器在运行状态下会监视在 WEB-
     INF/class 和 WEB-INF/lib 下 class 文件的改动。如果检测到有 class 文件更新,服务器会自动载入 Web 应用。
 crossContext :如果想在应用内调用ServletContext.getContext()来返回在该虚拟主机上运行的其他web application的request dispatcher,设为true。在安全性很重要的环境中,设为false,使得getContext()总是返回null。缺省值为false。
  debug:与这个Engine关联的Logger记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0。


        
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics