一,server.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8006" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.core.JasperListener"/>
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
  <GlobalNamingResources>
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    <Engine defaultHost="localhost" name="Catalina">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
        <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"/>
      <Context docBase="D:\workspace\app-lisi\wangwu\src\main\webapp" path="/wangwu" reloadable="true"/></Host>
    </Engine>
  </Service>
</Server>

localhost:8080就是服务器的配置好的。具体怎么改加tomacat(一)的说明。

其中我们可以看到D:\workspace\app-lisi\wangwu\src\main\webapp这个路径,现在假如浏览器来访问的时候会设置一个虚拟路径而这个虚拟路径就是path="/wangwu",到时候假如我们访问的是

localhost:8080/wangwu/1.jsp就相当于访问的是 localhost:8080/D:\workspace\app-lisi\wangwu\src\main\webapp\1.jsp

二,web.xml的注意点

context.xml文件

 <Context>

     <WatchedResource>WEB-INF/web.xml</WatchedResource>
 </Context>

从context.xml中我们可以看到,tomcat会默认首先去加载项目下的web.xml的文件

假如在我们现在是新建的项目,就可以把tomacat下的web.xml文件直接复制到自己的项目的WEB-INF的目录下就行了。

在这里需要注意的就是tomcat的web.xml问价的抬头和项目的web.xml的抬头不一定非得一样。

这是我用的tomcat的web.xml的内容

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   version="3.0"
   metadata-complete="true">

   <display-name>Welcome to Tomcat</display-name>
   <description>
      Welcome to Tomcat
   </description>
 </web-app>

这是我项目中的web.xml的内容

 <?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
     version="2.4">
     <context-param>
         <param-name>webAppRootKey</param-name>
         <param-value>bossintra.root</param-value>
     </context-param>

     <context-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>
             classpath:context/init/applicationService.xml
         </param-value>
     </context-param>

     <!-- 读取spring配置的listener -->
     <listener>
         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>

     <filter>
         <filter-name>sitemesh</filter-name>
         <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>sitemesh</filter-name>
         <url-pattern>*.htm</url-pattern>
     </filter-mapping>
     <filter-mapping>
         <filter-name>sitemesh</filter-name>
         <url-pattern>*.ftl</url-pattern>
     </filter-mapping>
     <!-- 处理中文字符编码的过滤器配置 -->
     <filter>
         <filter-name>Set Character Encoding</filter-name>
         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
         <init-param>
             <param-name>encoding</param-name>
             <param-value>UTF-8</param-value>
         </init-param>
         <init-param>
             <param-name>forceEncoding</param-name>
             <param-value>true</param-value>
         </init-param>
     </filter>
     <filter-mapping>
         <filter-name>Set Character Encoding</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>

     <!-- 装饰时的过滤sitemesh针对freemarker的支持 -->
     <servlet>
         <servlet-name>sitemesh-freemarker</servlet-name>
         <servlet-class>
             com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet
         </servlet-class>
         <init-param>
             <param-name>TemplatePath</param-name>
             <param-value>/</param-value>
         </init-param>
         <init-param>
             <param-name>default_encoding</param-name>
             <param-value>UTF-8</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
     </servlet>

     <servlet-mapping>
         <servlet-name>sitemesh-freemarker</servlet-name>
         <url-pattern>*.ftl</url-pattern>
     </servlet-mapping>

     <servlet>
         <servlet-name>seashell</servlet-name>
         <servlet-class>
             org.springframework.web.servlet.DispatcherServlet
         </servlet-class>
         <init-param>
             <param-name>contextConfigLocation</param-name>
             <param-value>
                 classpath:context/init/applicationContext.xml
             </param-value>
         </init-param>
         <load-on-startup>3</load-on-startup>
     </servlet>

     <!--spring controller对应的扩展名-->
     <servlet-mapping>
         <servlet-name>seashell</servlet-name>
         <url-pattern>*.htm</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
         <servlet-name>seashell</servlet-name>
         <url-pattern>*.do</url-pattern>
     </servlet-mapping>

     <jsp-config>

          <taglib>
             <taglib-uri>sitemesh-decorator</taglib-uri>
             <taglib-location>
                 /WEB-INF/tld/sitemesh-decorator.tld
             </taglib-location>
         </taglib>

         <taglib>
             <taglib-uri>sitemesh-page</taglib-uri>
             <taglib-location>
                 /WEB-INF/tld/sitemesh-page.tld
             </taglib-location>
         </taglib>

         <taglib>
             <taglib-uri>/WEB-INF/spring.tld</taglib-uri>
             <taglib-location>/WEB-INF/tld/spring.tld</taglib-location>
         </taglib>

         <taglib>
             <taglib-uri>/WEB-INF/spring-form.tld</taglib-uri>
             <taglib-location>
                 /WEB-INF/tld/spring-form.tld
             </taglib-location>
         </taglib>
     <taglib>
             <taglib-uri>/WEB-INF/tld/page.tld</taglib-uri>
             <taglib-location>
                 /WEB-INF/tld/page.tld
             </taglib-location>
         </taglib>
     </jsp-config>
 <distributable />
 </web-app>

tomcat原理(三)结合公司tomcat的用法的在理解的更多相关文章

  1. Tomcat 原理篇

    TOMCAT 原理篇一.Tomcat 组成(Tomcat 由以下组件组成) 1.server a) Server是一个Catalina Servlet容器: b) Server 可以包含一个或多个se ...

  2. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式及apr配置

    转: http://www.oschina.net/question/54100_16195omcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志. ...

  3. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

    ♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...

  4. tomcat原理解析(一):一个简单的实现

    tomcat原理解析(一):一个简单的实现 https://blog.csdn.net/qiangcai/article/details/60583330 2017年03月07日 09:54:27 逆 ...

  5. tomcat原理分析与简单实现

    tomcat原理分析与简单实现 https://blog.csdn.net/u014795347/article/details/52328221 2016年08月26日 14:48:18 卫卫羊习习 ...

  6. tomcat(三)--基本安装配置

    0x01  JDK和Tomcat安装 到oracle官网下载jdk,当前下载的版本是Linux x64 jdk-8u101-linux-x64.tar.gz 到apache官网下载tomcat,当前最 ...

  7. Java Web开发Tomcat中三种部署项目的方法

    第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/hello" docBase ...

  8. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  9. TOMCAT原理详解及请求过程(转载)

    转自https://www.cnblogs.com/hggen/p/6264475.html TOMCAT原理详解及请求过程 Tomcat: Tomcat是一个JSP/Servlet容器.其作为Ser ...

随机推荐

  1. SDN第二次作业

    作业链接 阅读文章<软件定义网络(SDN)研究进展>,并根据所阅读的文章,书写一篇博客,回答以下问题(至少3个): 为什么需要SDN?SDN特点? 随着网络规模的不断扩大,封闭的网络设备内 ...

  2. DirectSound---简易Wav播放器

    这篇文章主要给大家介绍下如何用DirectSound打造一个简易播放器,因为篇幅有限且代码逻辑较为复杂,我们只介绍下核心技术内容.该播放器主要包括以下功能: 播放.暂停 播放进度提示. 1. Dire ...

  3. python+opencv2相机位姿估计

    最近在做基于图像的室内定位方面的研究,于是使用到了百度最新的室内数据库Image-based Localization (IBL) .由于该数据库给出的数据是每幅图像和其对应相机的内外参数和光心投影方 ...

  4. Orleans之EventSourcing

    Orleans之EventSourcing 这是Orleans系列文章中的一篇.首篇文章在此 引入: 如果没有意外,我再这篇文章中用ES代替EventSourcing,如果碰到"事件回溯&q ...

  5. 试着把.net的GC讲清楚(1)

    什么是GC? GC(garbage collection)是对内存管理中回收已经不用的内存的一种机制,我们熟知的java和.net都有自己的GC机制,是内存管理的一部分. 为什么会有GC呢?是因为动态 ...

  6. Zabbix 3.2.4至3.2.7的升级方案

    1.关闭Zabbix Server 防止有新的数据提交到数据库中,也可以关闭数据库.如果更新过程中,评估告警信息可以忽略,可以先执行备份操作. 1.1.检查当前版本 /usr/local/zabbix ...

  7. [记录]Python2.7使用argparse模块

    # -*- coding: utf8 -*- import argparse #ArgumentParser.add_argument(name or flags-[, action][, nargs ...

  8. C# 快速高效率复制对象的几种方式

    http://www.cnblogs.com/emrys5/p/expression_trans_model.html 这篇较具体. 本文基于上文略加改动,暂记 using Newtonsoft.Js ...

  9. spring-boo hello world程序

    作为一个程序猿,使用了spring好多年,现在有了spring-boot,也想尝尝鲜. 初听spring-boot,觉得很神秘,实际上就是集合了很多组件,再加上一些boot开发的启动和粘合程序. 个人 ...

  10. php-fpm问题

    这个问题怎么说呢?之前遇到这个问题内心是奔溃的.因为我压根不知道是哪里出问题啦.不过,在我努力探索下,最终还是解决了问题. so请记住,坚持不一定成功,但放弃一定失败. 简单描述一下问题: 1.本地的 ...