Tomcat
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• /shared/lib 存放所有web引用都可与访问的 JAR文件(但是不能被Tomcat服务器访问) • /logs 存放Tomcat的日志文件 • /webapps 当发布web应用时。默认情况下 把web引用文件存放在此目录下 • /work 由JSP生成的Servlet放在此目录下
创建和发布web应用的HelloWorld
• Public void init() throws ServletExption{ • ServletConfig config=getServletConfig(); • String driver=config.getParameter(“driver”); • }
• Java Web应用由一组静态HTML页面, Servlet,JSP和其他的class组成。每种组件 在Web应用中都有固定的存放目录。 • Web应用示例:javaweb1-tomcat • -servlet组件:HelloTomcat.java
步骤一:创建Web应用的目录文件
<CATALINA_HOME>/WEBAPPS目录
Java Web的主要特征
• 每个Java Web应用有唯一的Context。 • 当Java Web应用运行时,Servlet容器为每个 Web应用创建唯一的ServletContext对象,它 被同一个Web应用中的所有组件共享。
• 假如有两个Web应用分别为helloapp和 bookstore,两个客户分别访问如下Url • http://localhost:8080/helloapp/index.htm • http://localhost:8080/bookstore/biookstore.js p
Tomcat和Servlet
• Servlet是一种运行在支持Java语言的服务器 上的组件。Servlet最常见的用途是拓展Java web 服务器功能 • 它是一种动态加载的模块,为来自web客户 的请求提供服务。他完全运行在java虚拟机 上(服务器端),因此不需要浏览器的支 持 • Tomcat作为Servlet容器,负责处理客户请求, 把请求送给Servlet并把结果返回给客户
元素解释
• <Server> 元素代表整个Servlet容器,它是 Tomcat实例的顶层元素。<Server>元素中可 以包含一个或多个<Service>元素。 • <Service> 包含一个<Engine>元素,以及一 个或多个<Connector>元素,这些 <Connector>元素共享同一个<Engine>元素 • <Connector>代表和客户实际交互的组件, 它负责接受客户的请求,以及想客户返回 响应结果。
<servlet>元素的属性描述如下:
• <servlet-name>:定义Servlet名字 • <servlet-class>:指定实现这个Servlet的类 • <init-param>:定义Servlet的初始化参数(包括参数名和参数值), 一个<servlet>元素中可以有多个<init-param>,在Servlet类中通过 gerInitParameter(string name)方法访问初始化参数。 • <load-on-startup>:指定当应用启动时,装载Servlet的次序,当这 个值为正数或是为零时,Servlet容器先加载数值小的Servlet, 再依次加载其他数值大的Servlet,如果这个值为负数或者没有 设定,那么Servlet容器将在Web客户首次访问这个Servlet是加载 它。 • 没有为HelloTomcat设置load-on-startup属性,因此当web应用启 动时,Servlet容器不会加载这个Servlet,只有当Web客户首次访 问这个Servlet时才加载它。
Tomcat服务器的各个组件响应客户 请求过程如图
Tomcat的目录结构
• -/bin Linux及windows平台上启动和关闭 Tomcat的脚本文件 • -/conf 存放Tomcat服务器的各种配置文件 • -/sever /server/lib 存放Tomcat服务器所需 的各种JAR文件(只能被Tomcat服务器访问) • /server/webapps 存放Tomcat自带的两个 Web应用:admin和manager应用 • /common/lib 存放Tomcat服务器以及所有 web应用都可以访问的JAR文件
掌握<init-param>元素
---用于定义Servlet中需要的初始化参数
• <init-param> • <param-name>driver</param-name> • <paramvalue>sun.jdbc.odbc.JdbcOdbcDriver</param-value> • </init-param>
Tomcat各个组件之间的嵌套关系
Java Web 应用简介
• Tomcat服务器的主要功能就是充当Java Web应用的容器。 • Java Web定义“Java Web应用由一组Servlet、 HTML页,类,以及其他可以绑定资源构 成。”
在Java Web应用中可以包含如下内容
• • • • • • Servlet Jsp 实用类 静态文档,如HTML,图片等 客户端类 描述Web应用的信息(web.xml)
web.xml文件内容
步骤三:在server.xml中加入 <context>元素
• <Context>元素是 <TOMCAT_HOME>/conf/server.xml中使用最频 繁的元素,它代表了运行在<Host>上的单个 web应用,一个<Host>中可以有多个<Context> 元素。 • 每个Web应用必须有唯一的URL路径,这个URL 路径在<Context>元素的path属性中设定。 • <Context path=“/javaweb1-tomcat” docBase=“javaweb1-tomcat” debug=“0” Reloadable=“true”>
Server.xml文件结构
• <Server> • <Service> • <Connector/> • <Engine> • <Host> • <Context></Context> • </Host> • </Engine> • </Service> • </Server>
Tomcat服务器Server.xml配置文件中 的元素可以分为四类
Servlet容器调用Servlet处理请求/响 应过程
• 当客户请求访问某个Servlet时,Servlet容器将创建 一个ServletRequest对象和ServletResponse对象 • 在ServletRequest对象中封装了客户请求信息,然 后Servlet容器把ServletRequesபைடு நூலகம்对象传给客户所请 求的Servlet。 • Servlet把响应结果写在ServletResponse中,由 Servlet容器把响应结果传给客户。
Tomcat服务器的结构
• Tomcat服务器是由一系列可配置的组件构成, 其中核心组件是Servlet容器,它是所有其他 Tomcat组件的顶层容器。 • 可以在<TOMCAT_HOME>/conf/server.xml文 件中进行配置,每个Tomcat组件在 Server.xml文件中对应一种配置元素
• 顶层配置元素 <Server> 和<Service> • 连接器类元素 <Connector> 介于客户服 务之间的通信接口,负责将客户的请求发 送给服务器,并将服务器的响应结果传递 给客户 • 容器类元素 <Engine> <Host> <Context> 处理客户请求并生成响应结果的组件 • 嵌套类元素 <Looger><Value><Realm> 可 以加入到容器中的组件
步骤二:创建web.xml文件
• Java Web应用通过一个基于XML的发布描述符 文件来配置其发布信息,这个文件名为 web.xml。存放于WEB-INF子目录下。在 web.xml文件中可包含如下配置信息: • -Servlet的定义、初始化数据以及JSP映射 • -安全域参数 • -Welcome文件清单 -资源引用 环境变量的定义
Tomcat服务器
Tomcat简介
什么是Tomcat
• Tomcat是sun公司在JavaServer web Developmentlit 基础上推出的一款优秀的 java web应用容器。 • 它是Apache的一个子项目,是一款 Servlet/JSP容器 • 它是一个开源的软件,和大部分的主流http 服务器能一起工作 运行稳定,可靠,效率 高
<Context>元素属性解析
步骤四:部署HTML,JSP文件
• 可以在javaweb1-tomcat目录下添加HTML, JSP文件用于页面显示。 • 步骤五:创建Servlet类文件 • 创建一个Servlet类文件,名为 HelloTomcat.java
步骤六:部署Servlet类文件
• 编译HelloTomcat.java • javac -d ..\..\WEB-INF\classes HelloTomcat.java • Tomcat CLASS_PATH设定: • CATHLINE_HOME=Tomcat安装目录 • CATHLINE_BASE=Tomcat安装目录 • classpath=;.JAVA_HOME%\lib\dt.jar;%JAVA_HOM E%\lib\tools.jar;%CATALINE_HOME%\common\li b\servlet-api.jar
<servlet-mapping>元素描述:
• 用来指定<servlet-name>和<url-pattern>: • <servlet-name>: 指定Servlet名字,这里的Servlet名 字应该和<servlet>元素中定义的名字匹配。 • <url-pattern>:指定访问这个Servlet的URL,这里只需 给出对于整个Web应用的相对URL路径。 • 根据以上<url-pattern>属性,访问DispatcherServler 的URL为: • http://localhost:8080/helloapp/hellotomcat • <servlet-mapping>使得程序中定义的Servlet类名和客 户访问的URL彼此独立。当Servlet类名发生改变,只 需修改<Servlet>元素中的<servlet-class>属性,二客 户端访问的URL无需做相应的改动。
接下来在web.xml中为DispatcherServlet 类加上<servlet>和<servlet-mapping>元素。
• <web-app> • <servlet> • <servlet-name>hellotomcat</servlet-name> • <servlet-class>HelloTomcat</servlet-name> • </servlet> • <servlet-mapping> • <servlet-name>hellotomcat</servlet-name> • <url-pattern>hellotomcat</url-pattern> • <servlet-mapping> • </web-app>
• <Engine> 每个<Service>元素只能包含一个 <Engine>元素。<Engine>元素处理在同一个 <Service>中所有<Connector>元素接收到的客户 请求。 • <Host> 一个<Engine>可以包含多个<Host>元 素。每个<Host>元素定义了一个虚拟主机,它 可以包含一个或多个Web应用。 • <Context> 代表运行在虚拟主机上单个Web应 用。一个Host元素可以包含多个<Context>元素。