当前位置: 首页 > news >正文

合肥网站建设兼职php网站后台密码忘记

合肥网站建设兼职,php网站后台密码忘记,莱州网站建设公司电话,哪里有网站制作平台文章目录一、Tomcat集成1、依赖层级2、自动化配置二、Tomcat架构三、Tomcat配置1、基础配置2、属性配置类3、配置加载分析四、周期管理方法1、控制类2、核心方法使用的成本越低#xff0c;内部封装越复杂#xff1b; 一、Tomcat集成 1、依赖层级 在SpringBoot框架的web依赖… 文章目录一、Tomcat集成1、依赖层级2、自动化配置二、Tomcat架构三、Tomcat配置1、基础配置2、属性配置类3、配置加载分析四、周期管理方法1、控制类2、核心方法使用的成本越低内部封装越复杂 一、Tomcat集成 1、依赖层级 在SpringBoot框架的web依赖包中引入的是内嵌Tomcat组件基于SpringBoot的版本Tomcat集成的是9.0版本 !-- 1、项目工程依赖 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.2.5.RELEASE/version /dependency!-- 2、starter-web依赖 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdversion2.2.5.RELEASE/versionscopecompile/scope /dependency!-- 3、starter-tomcat依赖 -- dependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-core/artifactIdversion9.0.31/versionscopecompile/scope /dependency2、自动化配置 在SpringBoot框架的自动配置类中Web项目中不显式更换其他服务依赖时默认提供了对Tomcat服务的管理 ConditionalOnWebApplication(type Type.SERVLET) EnableConfigurationProperties(ServerProperties.class) Import({ ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar.class,ServletWebServerFactoryConfiguration.EmbeddedTomcat.class}) public class ServletWebServerFactoryAutoConfiguration {BeanConditionalOnClass(name org.apache.catalina.startup.Tomcat)public TomcatServletWebServerFactoryCustomizer tomcatServletWebServerFactoryCustomizer(ServerProperties serverProperties) {return new TomcatServletWebServerFactoryCustomizer(serverProperties);} }二、Tomcat架构 Server代表整个Tomcat容器 Service服务器内部的中间组件将一个或多个Connector绑定到一个Engine上; Engine表示特定服务的请求处理管道接收Connector的请求并响应 Host网络主机名称 Connector连接器处理与客户端的通信 Context代表一个Web应用程序的上下文 参考Tomcat9.0版本的核心组件描述对于框架有大致的了解后再去分析集成原理会更容易把握主线逻辑 三、Tomcat配置 1、基础配置 在配置文件中对Tomcat做一些基础性的设置查看下面的配置类可以知道这些属性存在默认值 server:port: 8082 # 端口号tomcat: # Tomcat组件uri-encoding: UTF-8 # URI编码max-threads: 100 # 最大工作线程min-spare-threads: 10 # 最小工作线程2、属性配置类 在服务配置中提供多种服务器的适配像Tomcat、Jetty、Netty、Undertow从策略上看配置分为公共属性以及各种服务器的适配属性 更多配置信息可以参考完整的源码和注释说明 ConfigurationProperties(prefix server, ignoreUnknownFields true) public class ServerProperties {private Integer port;public static class Tomcat {private Charset uriEncoding StandardCharsets.UTF_8;private int maxThreads 200;private int minSpareThreads 10;} }3、配置加载分析 基于配置的属性定制化管理Tomcat服务的信息 public class TomcatWebServerFactoryCustomizerimplements WebServerFactoryCustomizerConfigurableTomcatWebServerFactory {Overridepublic void customize(ConfigurableTomcatWebServerFactory factory) {ServerProperties properties this.serverProperties;ServerProperties.Tomcat tomcatProperties properties.getTomcat();PropertyMapper propertyMapper PropertyMapper.get();customizeStaticResources(factory);} }TomcatWeb服务工厂这里在创建WebServer时使用的是Tomcat需要适当的了解一下Tomcat架构 public class TomcatServletWebServerFactory extends AbstractServletWebServerFactoryimplements ConfigurableTomcatWebServerFactory, ResourceLoaderAware {Overridepublic WebServer getWebServer(ServletContextInitializer... initializers) {Tomcat tomcat new Tomcat();Connector connector new Connector(this.protocol);connector.setThrowOnFailure(true);tomcat.getService().addConnector(connector);customizeConnector(connector);tomcat.setConnector(connector);tomcat.getHost().setAutoDeploy(false);configureEngine(tomcat.getEngine());prepareContext(tomcat.getHost(), initializers);return getTomcatWebServer(tomcat);} }四、周期管理方法 1、控制类 WebServer的简单接口只声明端口获取服务启动和停止相关方法 public interface WebServer {// 获取监听的端口int getPort();// 服务启动void start() throws WebServerException;// 服务停止void stop() throws WebServerException; }SpringBoot中Tomcat服务核心控制类通过TomcatServletWebServerFactory工厂类创建对Tomcat生命周期的管理提供了一层包装 public class TomcatWebServer implements WebServer {private final Tomcat tomcat;private final MapService, Connector[] serviceConnectors new HashMap(); }Apache组件中轻量级Tomcat启动器提供了Tomcat基础配置比如默认的Port和HostName以及生命周期管理的方法TomcatWebServer类中调用的就是该API中的具体方法 public class Tomcat {protected Server server;protected int port 8080;protected String hostname localhost;// 初始化服务public void init() throws LifecycleException {getServer();server.init();}// 启动服务public void start() throws LifecycleException {getServer();server.start();}// 停止服务public void stop() throws LifecycleException {getServer();server.stop();} }2、核心方法 2.1 初始化初始化时调用Apache-Tomcat类中启动方法 public class TomcatWebServer implements WebServer {/*** 初始化方法*/private void initialize() throws WebServerException {// 控制台日志logger.info(Tomcat initialized with port(s): getPortsDescription(false));synchronized (this.monitor) {// 调用Apache-Tomcat类中启动方法this.tomcat.start();}} }2.2 启动在初始化的方法中调用的Tomcat启动方法这里对状态进行校验并输出日志 public class TomcatWebServer implements WebServer {/*** 启动方法*/public void start() throws WebServerException {synchronized (this.monitor) {if (this.started) {return;}checkThatConnectorsHaveStarted();// 启动状态的标识this.started true;// 控制台日志logger.info(Tomcat started on port(s): getPortsDescription(true) with context path getContextPath() );}} }2.3 停止在组件生命周期的常规管理逻辑中停止服务之后进行销毁动作的执行其中自然涉及到多个状态标识的转换 public class TomcatWebServer implements WebServer {/*** 停止方法*/public void stop() throws WebServerException {synchronized (this.monitor) {// 状态变化boolean wasStarted this.started;this.started false;// Tomcat服务停止stopTomcat();this.tomcat.destroy();}} }ENDENDEND
http://www.hkea.cn/news/14553823/

相关文章:

  • 云建设网站免费word文档模板下载网站
  • 商城网站管理系统可以通过哪些网站注册域名
  • 创意视觉网站做网站服务器收费吗
  • 建立网站的基本流程黑龙江省住房与建设厅网站
  • 一键lnmp搭建wordpress柳市网站优化
  • 深圳做网站什么公司好医院网站建设要素
  • 武义建设工程网站单位建设网站申请报告
  • 在线修图网站网站建设专员工作
  • 网站建设数据库怎么选择wordpress网盘插件
  • 东莞手机网站建设怎么选景区旅游门户网站建设方案
  • 二级网站免费建wordpress导航怎么弄
  • 优秀的网站建设开发案例邢台网站建设服务商
  • 网站开发都用什么浏览器怎么制作图片文档
  • 网站怎么做百度的关键字印度网站开发成本
  • wordpress建什么网站好机器人网站建设规划书
  • 合肥建设学校网站界面做的比较好的网站
  • 中企动力 网站价格威联通怎么建设网站
  • 温州网站建设哪家公司好苏州保洁公司排行榜
  • 海南省住建设厅网站报监做传媒网站公司
  • 石家庄网站排名软件综合办公oa系统
  • wordpress 多站点建站教程深圳品牌策划与设计
  • 销售推广做那个网站著名网站设计
  • 塑模毕业设计代做网站游戏网站排行
  • 完成网站开发需要什么样技术单位网站的方案
  • 做网站可以卖钱吗开源cms下载
  • 兰州网站建设论坛网站建设公司教程
  • 美橙互联建站黄页网站怎么做 获取企业信息
  • 坪山网站建设特色可制作网页的软件
  • 情感视频素材网站网页制作视频教程下载
  • 网站建设布局品牌官网设计