Tomcat 7 快速入门及应用

1. 什么是Tomcat

  Tomcat是当今最流行的一种Servlet/JSP容器。

2. 什么是上下文(Context)

  简单理解就是一个Web应用程序启动后,程序中所有内存对象和他们之间的关系组成的一种环境。代码上其实就是javax.servlet.ServletContext这个类。
  安装在一个服务器的一个特定URL名字空间(比如,/myapplication)下的所有Servlet,JSP,JavaBean等Web部件的集合构成了一个Web的应用,每一个Web应用(同一JVM),容器都会有一个背景对象,而javax.servlet.ServletContext接口就提供了访问这个背景对象的途径。

3. Tomcat与上下文

  要将Servlet/JSP应用程序部署到Tomcat时,需要显式或隐式定义一个Tomcat上下文。在Tomcat中,每一个Tomcat上下文都表示一个web应用程序。

3.1 显式定义上下文方法:

  有几种方法,包括:

  • 在Tomcat的conf/Catalina/localhost目录下创建一个XML文件,即上下文文件,文件中必须包含一个Context元素,作为根元素。
  • 在Tomcat的conf/server.xml文件中Host元素下面添加一个Context元素。

  如果决定给每一个上下文都创建一个XML文件,那么这个文件名就很重要,因为上下文路径是从文件名衍生得到的。例如,把一个commerce.xml文件放在conf/Catalina/localhost目录下,那么应用程序的上下文路径就是commerce,并且可以利用以下URL调用一个资源:

http://localhost:8080/commerce/resourceName

  Context元素大多没有子元素。它类似于如下,这里唯一必要的属性是docBase,它用来定义应用程序的位置。

<Context docBase="D:\apache-tomcat-7.0.57\wtpwebapps\app04b" path="/app04b" reloadable="true" source="org.eclipse.jst.jee.server:app04b"/>

  当把上下文文件添加到指定目录时,Tomcat就会自动加载应用程序。当删除这个文件时,Tomcat就会自动卸载应用程序。

3.2 隐式定义上下文:

  通过将一个war文件或者整个应用程序复制到Tomcat的webapps目录下,即隐式地部署了一个应用程序。

4. AppName与Context与IDE

  IDE通常可以设置Tomcat读取war文件的的路径,所以可能并不能在Tomcat的webapps目录下看到项目文件。还可以设置项目的应用名,如将应用名设置为/,则浏览器中访问资源的URL可能如下:

http://localhost:8080/resourceName

5. 端口Port

 HTTP/1.1 : 8080

Tomcat_HOME/conf/server.xml

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

  当通过Tomcat_HOME/bin/startup.bat(或startup.sh)启动Tomcat时,Tomcat读取上面端口,http://localhost:8080可以访问,如果在IDE中配置server端口为8081,并且通过IDE启动项目在server上运行时,http://localhost:8080http://localhost:8081都不可以访问,只有http://localhost:8081/AppName/index.jsp可以访问。

5. server.xml

  server.xml文件中节点内可能会随IDE产生节点,产生后,bin/startup.bat将不能启动tomcat.

%TOMCAT_HOME%/conf/server.xml

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

      </Host>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值