tomcat解析(-)学习如何写一个servlet服务器

       你有没有想过,如果由你来编写一个Servlet服务器,你会怎么写,当然先假定你已经阅读了servlet服务器的规范,知道它应该如何组织自己以及如何对请求做出响应等.对于已有一定j2ee工作经验的人来说(先假定它完全没看到servlet服务器的实现),我想他应该也有一个大概的概念,关于如何编写一个servlet服务器.软件行业的发展最具有深远意义的是开源的产生,因为开源,我们可以学习到其它高手对某一应用的实例,我们甚至可以为某一开源项目提出自己的意见,贡献自己的代码,正因为更多的投入,才能使一个软件,一个系统,一个想法更加强健;在现在开源时代,如果你不想买一个服务器,你可以下载一个开源的,又或者,你甚至可以自己写一个,如何写呢?至少要先看看前辈们是怎么做的,我这里将以tomcat为例来看看人家是怎么写的服务器,当然,小弟不才,对于很多细节上的说明有存在错漏,大家可尽情指正

如果使用tomcat服务器,应该了解到,平常运行startup.bat或startup.sh脚本即可启动TOMCAT服务器,这两个脚本类似,拿startup.sh来说吧,源代码请大家自己查看,这里就不贴了,因脚本涉及到的细节不多,这里只大概说明一下脚本的内容,脚本主要任务是确认另一脚本catalina.sh是否存在(若是从tomcat官网下载的压缩包当然存在),如果是的话,以传入参数start来运行脚Catalina.sh.
catalina.sh的主要内容是设置运行服务器所需要的系统变量,如JAVA_HOME,JRE_HOME,CATALINA_HOME,CATALINA_BASE及相应的一些安全规则及配置文件位置的设置,在完成变量设置后以start为参数运行java类org.apache.catalina.startup.Bootstrap,运行代码如下:

  "$_RUNJAVA" "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS /
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" /
      -Dcatalina.base="$CATALINA_BASE" /
      -Dcatalina.home="$CATALINA_HOME" /
      -Djava.io.tmpdir="$CATALINA_TMPDIR" /
      org.apache.catalina.startup.Bootstrap "$@" start /
      >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

这里先只讲启动的情况,对于停止服务或其它的情况有机会再讲

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值