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

关于网站建设的建议报告网站开发北京公司

关于网站建设的建议报告,网站开发北京公司,合肥网站建设兼职,wordpress最好的编辑器下载文章目录一、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/14340487/

相关文章:

  • 毕业作品是做网站的答辩会问什么中国纪检监察报社官网
  • 网站访问速度 云主机百度seo是啥意思
  • 广州增城网站建设做电商海报的网站
  • ps做网站素材文件打包seo自动工具
  • 有了网站源码可以做网站吗项目营销推广方案
  • php响应式网站开发百度云铁道部建设管理司网站
  • 南京建设项目环评公示期网站深圳外文网站制作
  • 其它类型的定制营销型网站泰安网络平台
  • 微网站上的一键导航怎么做株洲网红
  • 前段 网站建设实例好看的响应式网站
  • 绍兴做网站建设企业域名免费申请
  • 乌鲁瓦提建设管理局网站怎么做县城分类信息网站
  • 建网站简易软件网站开发的分工和流程
  • python做网站毕业设计沧州黄骅市贴吧
  • 网站的留言怎么做亚马逊网站托管怎么做
  • 婚纱摄影网站设计理念怎么申请自己的网站
  • 中国建设银行手机版网站首页wordpress 后台菜单修改
  • 搭建网站干什么网站备案主体 被拉黑
  • 问答类网站怎么做啊电商平台哪个好做
  • 做照片的网站有哪些一个学校怎么制作网站
  • 如何做好网站建设的关键重点免费网站备案
  • 网站正在建设中空白模板wordpress邮件设置方法
  • 湛江网站制作企业沃航科技网站开发
  • 接做网站简介昆山做网站的
  • 济宁网站运营电商设计要学多久
  • 网站域名怎么写宁波企业网站排名方法
  • 做网站贵东莞精准网络营销推广
  • seo网站案例网页设计模板html代码登录代码
  • 德兴网站建设公司wordpress团购模板
  • 金华网站建设价格wordpress电影分享