您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Tomcat相关知识中文版
HowTomcatWorksHowTomcatWorksHowTomcatWorksTomcat4.1.125.0.18servletservletCatalinaTomcatTomcat“”Java●servlet/jspTomcatservlet●Tomcat●webTomcat●TomcatJavaservletBudiJavafortheWebwithServlets,JSP,andEJBServletservletservletservlet:●requestservletcookiesURIrequestjavax.servlet.ServletRequestjavax.servlet.http.ServletRequest●responseservletresponsejavax.servlet.ServletResponsejavax.servlet.http.ServletResponse●servletservicerequestresponseservletrequestresponsecatalinaservletCatalinaCatalina“Servlet=dc32cxpz_31ghgkhqf3171[2009-8-2712:07:42]HowTomcatWorks”Catalina(connector)(container)FigureI.1FigureI.1“”HTTPrequestresponserequsetresponseservletserviceservletserviceservlet()servletTomcat45Tomcat45.:●Tomcat5Servlet2.4JSP2.0Tomcat4Servlet2.3JSP1.2●Tomcat4Tomcat5●Tomcat5Tomcat4Tomcat5●Tomcat5(mappercomponent)201HTTP2servlet520:1HTTPHTTPjava.net2SocketServerSocket22servlet2servletservletrequestresponseservletserviceservletservletweb3Tomcat444Tomcat4Coyote5containercontainerorg.apache.catalina.Container4container:engine,host,contextwrappercontextwrapper=dc32cxpz_31ghgkhqf3271[2009-8-2712:07:42]HowTomcatWorks6LifecycleCatalinaLifecycleCatalinastart/stop78(loader)Catalinaservletweb9(manager)StandardManagerservlet10web(principals)(roles)StandardContext(authenticatorvalve)11webservletorg.apache.catalina.core.StandardWrapper(filter)servletserviceStandardWrapperservlet12webservletorg.apache.catalina.core.StandardContextStandardContextHTTPTomcat513hostengine:org.apache.catalina.core.StandardHostorg.apache.catalina.core.StandardEngine14servlet15DigesterwebDigesterApacheDigesterXMLJavaStandardContextContextConfig16shutdownTomcatclean-up(shutdown)17shellTomcat18(deployer)web19ContainerServletservletCatalinaManager20JMXTomcatMBeansCatalinaCatalinaex[].pyrmont1ex01.pyrmontJ2SE1.4()src()webroot(HTMLservlet)webapps()2.javaWindowswin-compile.bat=dc32cxpz_31ghgkhqf3371[2009-8-2712:07:42]HowTomcatWorksLinux(chmod)./linux-compile.shZIPReadme.txt:WebjavawebWeb(HTTP)HTTPwebjavawebjava.net.Socketjava.net.ServerSocketHTTPHTTPweb(HTTP)HTTPwebHTTPTCP--TCP80HTTPHTTP/0.9HTTP/1.0HTTP/1.0HTTP/1.1(RFC)2616●—(URI)—/●●HTTPPOST/examples/default.jspHTTP/1.1Accept:text/plain;text/htmlAccept-Language:en-gbConnection:Keep-AliveHost:localhostUser-Agent:Mozilla/4.0(compatible;MSIE4.01;Windows98)Content-Length:33Content-Type:application/x-=Franks&firstName=Michael—(URI)—/=dc32cxpz_31ghgkhqf3471[2009-8-2712:07:42]HowTomcatWorksPOST/examples/default.jspHTTP/1.1POST/examples/default.jspURIHTTP/1.1/HTTPHTTPHTTP1.17GET,POST,HEAD,OPTIONS,PUT,DELETETRACEGETPOSTURIURI/(URL)URI()HTTP(CRLF)HTTP(CRLF)CRLFHTTPCRLFHTTPHTTPlastName=Franks&firstName=MichaelHTTPHTTPHTTPHTTP●—(URI)—/●●HTTPHTTP/1.1200OKServer:Microsoft-IIS/4.0Date:Mon,5Jan200413:13:33GMTContent-Type:text/htmlLast-Modified:Mon,5Jan200413:13:12GMTContent-Length:112htmlheadtitleHTTPResponseExample/title/headbodyWelcometoBrainySoftware/body/htmlHTTP1.1(200=)HTML=dc32cxpz_31ghgkhqf3571[2009-8-2712:07:42]HowTomcatWorksCRLFSocketIPJavajava.net.SocketSocketpublicSocket(java.lang.Stringhost,intport)IPyahoo.com80SocketnewSocket(yahoo.com,80);SocketSocketgetOutputStreamjava.io.OutputStreamOutputStreamjava.io.PrintWriterSocketgetInputStreamjava.io.InputStreamHTTP(127.0.0.1)HTTPStringBufferSocketsocket=newSocket(127.0.0.1,8080);OutputStreamos=socket.getOutputStream();booleanautoflush=true;PrintWriterout=newPrintWriter(socket.getOutputStream(),autoflush);BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputstream()));//sendanHTTPrequesttothewebserverout.println(GET/index.jspHTTP/1.1);out.println(Host:localhost:8080);out.println(Connection:Close);out.println();//readtheresponsebooleanloop=true;StringBuffersb=newStringBuffer(8096);while(loop){if(in.ready()){inti=0;while(i!=-1){i=in.read();sb.append((char)i);}loop=false;}Thread.currentThread().sleep(50);=dc32cxpz_31ghgkhqf3671[2009-8-2712:07:42]HowTomcatWorks}//displaytheresponsetotheoutconsoleSystem.out.println(sb.toString());socket.close();webHTTPHTTP(HTTP)HTTPcom.brainysoftware.pyrmont.util.HttpSnifferHTTPJavaServerSocketSocketHTTPFTPjava.net.ServerSocketServerSocketSocketSocketServerSocketIPIP127.0.0.1IPbacklogServerSocket:publicServerSocket(intport,intbackLog,InetAddressbindingAddress);java.net.InetAddressInetAddressgetByNameInetAddress.getByName(127.0.0.1);8080ServerSocketbacklog1newServerSocket(8080,1,InetAddress.getByName(127.0.0.1));ServerSocketServerSocketacceptSocketSocketSocketacceptwebex01.pyrmont●HttpServer=dc32cxpz_31ghgkhqf3771[2009-8-2712:07:42]Ho
本文标题:Tomcat相关知识中文版
链接地址:https://www.777doc.com/doc-4556126 .html