Java Web服务器,主要用于处理HTTP请求,并运行基于Servlet和JSP页面的Web应用程序。常见的如Apache Tomcat、Jetty以及官方推出的Glassfish等。
一、Tomcat服务器解析
Apache Tomcat,是Apache软件基金会的一个开源项目,用于提供一个符合Java Servlet规范的WEB服务器环境。
Tomcat的架构设计灵活,能够快速处理大量并发请求,同时其配置维护也相对简单,让开发者能够集中精力在业务逻辑开发上。
//用于启动Tomcat服务器的主类Bootstrap.java部分代码 public void start() { if( started ) return; started=true; try { initDirs();} catch( Exception ex ) { log.error( "Catalina.start", ex); } //初始化目录 initStreams(); //初始化系统输入输出流 init(); //加载配置文件,初始化组件 if( getDebug() >= 0 ) log( "Starting tomcat. Check logs/tomcat.log for error messages " ); startComponents(); //启动组件 }
二、Jetty服务器解析
Jetty是由Eclipse Foundation推出的一款开源Web服务器和Java Servlet容器,特点是小巧、快速且功能齐全。
Jetty提供了大量的API用于开发者开发和修改Web服务器,这使得Jetty能够适应多种个性化的业务场景。
//Jetty AbstractNetworkConnector的部分代码片段 public void join() throws InterruptedException { ConcurrentHashSet connectors = getConnectors(); for (Connector connector : connectors) connector.join(); //启动连接器 } public void start() { if (isRunning()) return; //服务器已经启动 if (isFailed()) //服务器已经失效 throw new IllegalStateException(FAILED_STATE); setStarting(); //设置为正在启动状态 doStart(); //启动服务器,个性化的启动逻辑放在这个方法下 }
三、Glassfish服务器解析
GlassFish是由Oracle公司出品的一款免费开源的应用服务器,其负责满足Java EE技术标准并提供商业质量的实现。
GlassFish因其对Java EE标准的完整支持,以及其强大与健壮的特性,广受企业级开发和应用的欢迎。
//GlassFish的入口类Main的部分代码片段 public class Main { public static void main(String... args) { Main main = new Main(); try { main.processProgramOptions(args); //处理命令行选项 main.invokeProgram(); //启动相关程序,如果是服务器,则启动服务器 } catch (GlassFishException ex) { main.handleException(ex); //处理异常 } } }
原创文章,作者:NJHV,如若转载,请注明出处:https://www.beidandianzhu.com/g/1358.html