Java Web服务器

JavaWeb服务器主要用于处理HTTP请求,并基于Servlet和JSP页面运行Web应用程序。ApacheTomcat等常见用途、正式推出的Jetty和Glassfish等。

一、Tomcat服务器解析

ApacheTomcat,为提供符合JavaServlet规范的WEB服务器环境,是Apache软件基金会的开源项目。

Tomcat的架构设计灵活,可以快速处理大量并发请求。同时,其配置和维护相对简单,因此开发人员可以专注于业务逻辑开发。

//主类Bootstrap用于启动Tomcat服务器.部分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是一款开源Web服务器和JavaServlet容器,由EclipseFoundation推出,具有体积小、速度快、功能齐全等特点。

Jetty为开发者开发和修改Web服务器提供了大量的API,使Jetty能够适应各种个性化的业务场景。

//Jetty AbstractNetworkConnector的部分代码片段
public void join() throws InterruptedException {
    ConcurrentHashSetconnectors = 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公司生产的一款免费开源应用服务器,负责实现JavaEE技术标准,提供商业质量。

GlassFish因其对JavaEE标准的完整支持,以及其强大而强大的特点,在企业级开发和应用中广受欢迎。

//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);           //处理异常
        }
    }
}

本文链接:https://my.lmcjl.com/post/19496.html

展开阅读全文

4 评论

留下您的评论.