Tomcat脚本及HTTP请求过程跟踪
来源:互联网 发布:linux mysql设定字符集 编辑:程序博客网 时间:2024/04/28 02:06
server.xml
<server port="8005" shutdown="SHUTDOWN"> 监听Tomcat关闭的动作
<listener className="org.apache.catalina.core.AprLifeCycleListener"/>
<service name="catalina">
<connector port="80" maxhttpHeaderSize="8192" maxThreads(最大的线程数)="150" minSpareThreads(初始化创建的最小线程数)="25"
maxSpareThreads(超过此值,tomcat开始关闭不需要的连接)="75" enableLookups(反查域名,为了效率应设置为false)="false" redirectPort(当80不可用时,换为8443)="8443" acceptCount(超过最大连接数时,可以放在等待队列中的连接数)="100" connectionTimeout="20000" disableUploadTime="true"/> connector表示client与server的连接
<connector port="8009" enableLookUp="false" redirectPort="8999" protocol="AJP/1.3"/>该Connector用于集群
<engine name="catalina" defaultHost="localHost">
<realm className="org.apache.catalina.realm.userDataBaseRealm"/>用于存放用户名和密码及Role的数据库
<host name="localhost" appBase(应用程序基本目录)="webapps" unpackWars(true表示war包自动解压)="true" autoDeploy="true" xmlValidation="false" xmlNameSpaceAware="false"/> host表示一个虚拟主机
</engine> severice中的请求处理机,接收和处理来自connector的请求
<service>
</server>
<context docBase="D:/tomcat/webapps/tst">
<WatchedResource>WEB-INF/web.xml</WatchedResource>这里将该context对应的web.xml对应
<manager className="org.apache.catalina.session.standardManager" MaxActiveSession="-1" MaxInactiveInternal="60" pathname="/"/>
</context> context可以放到server.xml可以单独成文放到context.xml中,context可以用来设置session的数据及过期时间等
A service element represents the combination of one or more connector components that share a single engine service.
Engine: it receives and processs all requests from one or more connectors and returns the completed response to the connector for ultimate transmission back to the client.
每个Context Element对应一个Web App,每个Web App由一个或多个servlet组成 servlet的定义来自于web.xml
web.xml
<servlet> servlet定义,包括名字和class
<servlet-name>jsp</servle-name>
<servlet-class>org.apache.jsper.serlvet.Jspservlet</servlet-class>
</servlet>
<service-mapping> servlet 映射
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</service-mapping>
Tomcat Server处理一个HTTP请求的过程:http://localhost:80//usota/index.jsp
(1)请求被发送到本机端口80,被在那里进行监听的loyote http/1.1 connector获得
(2)connector将请求交给Engine,并等待Engine的返回
(3)Engine获得localhost:80//usota/index.jsp请求,匹配它所拥有的host
(4)Engine匹配到名为localHost的Host,即使不匹配将该请求给它,因为只有一个Host
(5)Host匹配到路径为/usota的Context,若匹配不到则到路径为“”的context中处理
(6)path=“/usota”的context获得请求index.jsp,在它的servlet mapping table中找到它对应的servlet
(7)context匹配到URL pattern为*.jsp的对应 jspServlet类
(8)构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
(9)context把执行完成的httpServletResponse对象返回到Host
(10)Host把该response对象返回给Engine
(11)Engine继续将该response对象返回给Connector,继而返回到Browser中
- Tomcat脚本及HTTP请求过程跟踪
- Tomcat - 处理HTTP请求过程
- http请求过程及结构
- Tomcat目录结构及Tomcat Server处理一个http请求的过程
- Tomcat目录结构及Tomcat Server处理一个http请求的过程
- Tomcat处理http请求过程分析
- tomcat 对http请求的处理过程
- Tomcat源码分析--一次HTTP请求过程
- Tomcat处理一个HTTP请求的过程
- Tomcat处理一个HTTP请求的过程
- 拦截和跟踪HTTP请求的主要方法及实现
- TOMCAT原理详解及请求过程
- TOMCAT原理详解及请求过程
- TOMCAT原理详解及请求过程
- TOMCAT原理详解及请求过程
- TOMCAT原理详解及请求过程
- TOMCAT原理详解及请求过程
- Tomcat原理详解及请求过程
- linux内核网络栈
- Why are you still not using Hudson?
- 为什么注销账号的功能都没有?
- 表达式求值
- 断路控制器--西门子中国研究院
- Tomcat脚本及HTTP请求过程跟踪
- 用VBA获取cad中的字符框中的字符
- 用VBA获取cad中的字符框中的字符
- 哈佛大学凌晨4点半景象
- 2.状态保持
- 程序设计原则——局部性原理
- WINCE5.0无线灯光控制软件--天津市某展览馆
- RFID电子标签--霍尼韦尔(中国)技术研发中心
- qq2010?Ubuntu实用-wine下安装QQ2010