zoukankan      html  css  js  c++  java
  • tomcat路径的配置

    一、server.xml <Context docBase="wtest" path="/wtest/dest" reloadable="true"/>

    其中,docBase代表本地路径,可以是相对路径也可以是绝对路径

       path代表网络路径

       docBase和path是一一对应的

      webapps/ROOT和/也是一一对应的

    举例:docBase路径可以是D:apache-tomcat-8.5.35webappswtest(绝对路径)或者wtest(相对路径,相对于webapps来说)

       path路径就是http://127.0.0.1:8080/wtest/dest

    浏览器请求的路径=协议+://+ip+:+port+contextpath(上下文路径)+url-pattern

    二、web.xml的详解

    这里的version=3.1是和servlet-api.jar的版本相关联的,

    而且之所以xml文件能进行联想也是根据命名空间的web-app_3_1.xsd决定的

    该文档中有两个命名空间一个是默认的命名空间由xmlns定义,默认前缀(主要目地是为了应用文件内容的标签或者属性)

                                            另一个是xsi的命名空间由xmlnx:xsi定义,前缀是xsi(主要目地是为了应用xsi:schemaLocation标签或者属性)

    xsi:schemaLocation的模式如下:xsi:schemaLocation="key1 value1 kay2 value2 key3 value3 ..."

    url-pattern匹配原则:精确匹配>最长路径匹配(包括‘/*’)>扩展名匹配(包括jspServlet,即'*.jsp')>缺省匹配(包括defaultServlet,即'/')

    <url-pattern>/*</url-pattern> 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等)

    三、使用eclipse+maven直接运行web项目时,这里需要配置好:但是这只是仅限于直接运行,编译成war包时,不需要配置这里,只需要配置maven pom.xml就可以了

      

     

    四、默认的web.xml

    这个web.xml在${catalina.home}conf/web.xml目录一下,它里面配置了两个servlet

    第一个servlet:

    defaultServlet:处理静态文件的servlet

    他可以匹配到任何的路径,也可以和他配置成相同的url-pattern,从而覆盖掉它

        <servlet>
            <servlet-name>default</servlet-name>
            <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <init-param>
                <param-name>listings</param-name>
                <param-value>false</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

    第二个servlet:

    jspServlet: 处理所有的jsp文件

        <servlet>
            <servlet-name>jsp</servlet-name>
            <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
            <init-param>
                <param-name>fork</param-name>
                <param-value>false</param-value>
            </init-param>
            <init-param>
                <param-name>xpoweredBy</param-name>
                <param-value>false</param-value>
            </init-param>
            <load-on-startup>3</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>jsp</servlet-name>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspx</url-pattern>
        </servlet-mapping>

    五、tomcat调优: 

    1、tomcat启动慢:jdk1.8.0_192/jre/lib/security/java.security   securerandom.source=file:/dev/./urandom或者

    在 catalina.sh 中加入这么一行:-Djava.security.egd=file:/dev/./urandom

    2、tomcat中一共有三种运行模式,分别是:bio,nio,apr:(配置apr模式)

    bio是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发的场景

    nio是基于java中非阻塞IO操作的API实现,比传统的i/o处理方式有更高的并发运行性能

    apr是从操作系统级别解决异步IO问题,大幅度提高服务器的并发处理性能,也是Tomcat生产环境运行的首选方式(性能高)(这里要理解一下java的jni)

     

  • 相关阅读:
    SystemTap----常用变量、宏、函数和技巧
    RPM制作
    percona-MYSQLGUI监控
    Rsyslog配置文件详解
    理解 Linux 网络栈(1):Linux 网络协议栈简单总结 图
    tcp-backlog配置
    Clumsy logo差网络环境模拟工具 Clumsy
    Android Studio 配置模拟器AVD存放路径(默认在c盘,解决c盘空间不够问题)
    Android Studio 导入的项目编码错误问题
    21分钟 MySQL 入门教程
  • 原文地址:https://www.cnblogs.com/erdanyang/p/10242733.html
Copyright © 2011-2022 走看看