Author: remm Date: Mon May 12 20:57:08 2025 New Revision: 1925523 URL: http://svn.apache.org/viewvc?rev=1925523&view=rev Log: Javadoc update for 9.0.105
Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.png (with props) tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.png (with props) tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.png (with props) tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.png (with props) Removed: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/authentication-process.png tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/request-process.png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.plantuml?rev=1925523&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.plantuml Mon May 12 20:57:08 2025 @@ -0,0 +1,97 @@ +@startuml + +' Licensed to the Apache Software Foundation (ASF) under one or more +' contributor license agreements. See the NOTICE file distributed with +' this work for additional information regarding copyright ownership. +' The ASF licenses this file to You under the Apache License, Version 2.0 +' (the "License"); you may not use this file except in compliance with +' the License. You may obtain a copy of the License at +' +' http://www.apache.org/licenses/LICENSE-2.0 +' +' Unless required by applicable law or agreed to in writing, software +' distributed under the License is distributed on an "AS IS" BASIS, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' See the License for the specific language governing permissions and +' limitations under the License. + +hide footbox +skinparam style strictuml + +activate Acceptor +participant NioEndpoint +participant ServerSocket +participant SocketChannel +activate Poller +participant Selector +participant Executor +activate Worker + +group Acceptor Loop +Acceptor -> NioEndpoint ++: serverSocketAccept() +NioEndpoint -> ServerSocket ++: accept() +note right of ServerSocket + This is where Tomcat + waits for incoming + connections +end note +ServerSocket -->> SocketChannel **: +return +return + +Acceptor -> NioEndpoint ++: setSocketOptions() +NioEndpoint -> Poller ++: register() +return +return +end + +group Poller Loop (simplified) +Poller -> Poller ++: events() +Poller -> SocketChannel ++: register(OP_READ) +return +return + +Poller -> Selector ++: select() +return + +Poller -> Poller ++: processKey() +Poller -> NioEndpoint ++: processSocket() +NioEndpoint -> NioEndpoint ++: createSocketProcessor() +NioEndpoint -->> SocketProcessor **: +NioEndpoint -> Executor ++: execute() +Executor -> Worker ++: run() +return +return +return +return +return +end + +Worker -> SocketProcessor ++: run() +SocketProcessor -> SocketChannel ++: handshake() +note right of SocketChannel + TLS handshake +end note +return +SocketProcessor -> ConnectionHandler ++: process() +ConnectionHandler -> Protocol ++: createProcessor() +Protocol -->> Processor **: +activate Processor +Processor -->> CoyoteRequest **: +Processor -->> CoyoteResponse **: +return +return +ConnectionHandler -> Processor ++: process() +Processor -> Processor ++: service() +note right of Processor + More detail of this + processing in the + protocol specific + diagrams +end note +return +return +return +return + +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.png?rev=1925523&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/11_nio.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.plantuml?rev=1925523&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.plantuml Mon May 12 20:57:08 2025 @@ -0,0 +1,38 @@ +@startuml + +' Licensed to the Apache Software Foundation (ASF) under one or more +' contributor license agreements. See the NOTICE file distributed with +' this work for additional information regarding copyright ownership. +' The ASF licenses this file to You under the Apache License, Version 2.0 +' (the "License"); you may not use this file except in compliance with +' the License. You may obtain a copy of the License at +' +' http://www.apache.org/licenses/LICENSE-2.0 +' +' Unless required by applicable law or agreed to in writing, software +' distributed under the License is distributed on an "AS IS" BASIS, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' See the License for the specific language governing permissions and +' limitations under the License. + +hide footbox +skinparam style strictuml + +activate Processor + +Processor -> InputBuffer ++: parseRequestLine() +return +Processor -> Processor ++: prepareRequestProtocol() +return +Processor -> InputBuffer ++: parseHeaders() +return +Processor -> Processor ++: prepareRequest() +return +Processor -> CoyoteAdapter ++: service() +note right of CoyoteAdapter + Servlet request processing + happens here +end note +return + +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.png?rev=1925523&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/21_http11.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.plantuml?rev=1925523&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.plantuml Mon May 12 20:57:08 2025 @@ -0,0 +1,109 @@ +@startuml + +' Licensed to the Apache Software Foundation (ASF) under one or more +' contributor license agreements. See the NOTICE file distributed with +' this work for additional information regarding copyright ownership. +' The ASF licenses this file to You under the Apache License, Version 2.0 +' (the "License"); you may not use this file except in compliance with +' the License. You may obtain a copy of the License at +' +' http://www.apache.org/licenses/LICENSE-2.0 +' +' Unless required by applicable law or agreed to in writing, software +' distributed under the License is distributed on an "AS IS" BASIS, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' See the License for the specific language governing permissions and +' limitations under the License. + +hide footbox +skinparam style strictuml + +participant CoyoteRequest +participant CoyoteResponse +activate CoyoteAdapter + +CoyoteAdapter -> Connector ++: createRequest() +return + +CoyoteAdapter -> Connector ++: createResponse() +return + +CoyoteAdapter -> Request ++: setRequest() +return +CoyoteAdapter -> Response ++: setResponse() +return +CoyoteAdapter -> CoyoteRequest ++: setNote() +return +CoyoteAdapter -> CoyoteResponse ++: setNote() +return + +CoyoteAdapter -> CoyoteAdapter ++: postParseRequest() +return + +CoyoteAdapter -> Connector ++: getService() +return +CoyoteAdapter -> Service ++: getContainer() +return +CoyoteAdapter -> Engine ++: getPipeline() +return +CoyoteAdapter -> "StandardPipeline\n(Engine)" ++: getFirst() +return +CoyoteAdapter -> StandardEngineValve ++: invoke() +StandardEngineValve -> Request ++: getHost() +return +StandardEngineValve -> Host ++: getPipeline() +return +StandardEngineValve -> "StandardPipeline\n(Host)" ++: getFirst() +return +StandardEngineValve -> AccessLogValve ++: invoke() +AccessLogValve -> AccessLogValve ++: getNext() +return +AccessLogValve -> ErrorReportValve ++: invoke() +ErrorReportValve -> ErrorReportValve ++: getNext() +return +ErrorReportValve -> StandardHostValve ++: invoke() +StandardHostValve -> Request ++: getContext() +return +StandardHostValve -> Context ++: bind() +return +StandardHostValve -> Context ++: getPipeline() +return +StandardHostValve -> "StandardPipeline\n(Context)" ++: getFirst() +return +StandardHostValve -> StandardContextValve ++: invoke() +StandardContextValve -> Request ++: getWrapper() +return +StandardContextValve -> Wrapper ++: getPipeline() +return +StandardContextValve -> "StandardPipeline\n(Wrapper)" ++: getFirst() +return +StandardContextValve -> StandardWrapperValve ++: invoke() +StandardWrapperValve -> Wrapper ++: allocate() +return +StandardWrapperValve -> ApplicationFilterFactory ++: createFilterChain +ApplicationFilterFactory --> FilterChain **: +return +StandardWrapperValve -> FilterChain ++: doFilter() +FilterChain -> "Filter\nA" ++: doFilter() +"Filter\nA" -> FilterChain ++: doFilter() +FilterChain -> "Filter\nB" ++: doFilter() +"Filter\nB" -> FilterChain ++: doFilter() +FilterChain -> Servlet ++: service() +||| +return +return +return +return +return +return +StandardWrapperValve -> FilterChain ++: release() +return +StandardWrapperValve -> Wrapper ++: deallocate() +return +return +return +return +return +return +return +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.png?rev=1925523&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/31_synchronous.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.plantuml?rev=1925523&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.plantuml Mon May 12 20:57:08 2025 @@ -0,0 +1,78 @@ +@startuml + +' Licensed to the Apache Software Foundation (ASF) under one or more +' contributor license agreements. See the NOTICE file distributed with +' this work for additional information regarding copyright ownership. +' The ASF licenses this file to You under the Apache License, Version 2.0 +' (the "License"); you may not use this file except in compliance with +' the License. You may obtain a copy of the License at +' +' http://www.apache.org/licenses/LICENSE-2.0 +' +' Unless required by applicable law or agreed to in writing, software +' distributed under the License is distributed on an "AS IS" BASIS, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' See the License for the specific language governing permissions and +' limitations under the License. + +hide footbox +skinparam style strictuml + +participant MimeHeaders +participant CoyoteRequest +participant Request +activate ErrorReportValve + +ErrorReportValve -> StandardHostValve ++: invoke() +StandardHostValve -> Request ++: getContext() +return +StandardHostValve -> Context ++: bind() +return +StandardHostValve -> Context ++: getPipeline() +return +StandardHostValve -> "StandardPipeline\n(Context)" ++: getFirst() +return +StandardHostValve -> BasicAuthenticator ++: invoke() +BasicAuthenticator -> Context ++: getRealm() +return +BasicAuthenticator -> LockoutRealm ++: findSecurityContraints() +return +BasicAuthenticator -> LockoutRealm ++: hasUserDataPermission() +return +BasicAuthenticator -> BasicAuthenticator ++: doAuthenticate() +BasicAuthenticator -> Request ++: getCoyoteRequest() +return +BasicAuthenticator -> CoyoteRequest ++: getMimeHeaders() +return +BasicAuthenticator -> MimeHeaders ++: getValue("authorization") +return +BasicAuthenticator --> BasicCredentials **: +BasicAuthenticator -> BasicCredentials ++: getUserName() +return +BasicAuthenticator -> BasicCredentials ++: getPassword() +return +BasicAuthenticator -> Context ++: getRealm() +return +BasicAuthenticator -> LockoutRealm ++: authenticate() +LockoutRealm -> UserDatabaseRealm ++: authenticate() +UserDatabaseRealm -> UserDatabaseRealm ++: getPassword(username) +UserDatabaseRealm -> CredentialHandler ++: matches() +return +UserDatabaseRealm -> UserDatabaseRealm ++: getPrincipal() +return +return +return +return +return +BasicAuthenticator -> Realm ++: hasResourcePermission() +return +BasicAuthenticator -> BasicAuthenticator ++: getNext() +return +BasicAuthenticator -> StandardContextValve ++: invoke() +note right of StandardContextValve + Standard Servlet request + processing continues from + this point +end note + +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.png?rev=1925523&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/requestProcess/41_basic.png ------------------------------------------------------------------------------ svn:mime-type = image/png --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org