Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问 。开发JAVA Web应用所采用的服务器主要是与JSP/Servlet兼容的Web服务器 。
0x01:jetty
Jetty是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境 。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布 。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接 。在做基于Maven的Java项目开发时,常用Jetty来运行 。
特点
- 轻量级:Jetty体积小巧,占用系统资源较少 。
- 易嵌入性:Jetty既可以像Tomcat一样独立运行,也可以很方便的嵌入到工具、框架或其他应用服务器中运行 。Jetty在设计之 初就是作为一个可以嵌入到其他的Java代码中的servlet容器而设计的,因此开发小组将Jetty作为一组Jar文件提供出来,可以非常方便的在自 己的容器中将Jetty实例化成一个对象并操纵该容器对象 。
- 灵活性:Jetty的体系架构及其面向接口的设计实现了功能模块高度可插拔和可扩展的特性,可以非常方便的根据需要来配置Jetty启用的功能 。
- 稳定性:Jetty运行速度较快,即使有大量服务请求并发的情况下,系统性能也能保持在一个可以接受的状态 。
目前最为流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器 。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选 。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应html(标准通用标记语言下的一个应用)页面的访问请求 。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的 。
特点
- 部署简单:与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件 。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包 。这个包中的文件按一定目录结构来组织:只需将你的WAR放到Tomcat的WebApp目录下,Tomcat会自动检测到这个文件,并将其解压 。另外Tomcat也提供了一个应用管理器,通过这个应用,辅助于Ftp,可以在远程通过Web部署和撤销应用,当然本地也可以 。可见一个Web应用在Tomcat中的部署与管理都是如此的简单方便 。Tomcat短小精悍,配置方便,能满足实际的需求,这种情况下自然会选择Tomcat 。
- 安全管理:Tomcat提供Realm支持 。Realm类似于Unix里面的group 。在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源 。Tomcat用Realm将不同的运用(类似系统资源)赋给不同的用户(类似group) 。没有权限的用户则不能访问这个应用 。Tomcat提供三种Realm:JDBCRealm:这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证; JNDIRealm:用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息;MemoryRealm:用户信息存在一个xml文件里面,验证用户时即使用此种Realm 。通过Realm可以方便地对访问某个应用的客户进行验证 。在Tomcat中,还可以利用Servlet2.3提供的事件监听器功能,来对应用程序或者Session实行监听,进行身份权限控制 。Tomcat也提供其他的一些特征,如与SSL集成到一块,实现安全传输 。
- 易操作:基于Tomcat的开发其实主要是JSP和Servlet的开发,开发JSP和Servlet非常简单,可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可 。这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make 。只需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,只需在xml中写很少的东西就可以将其编译并打包成WAR 。事实上,在很多应用服务器的发布中都包含了Ant 。另外,在JSP 1.2中,可以利用标签库实现Java代码与HTML文件的分离,使JSP的维护更方便 。
- 集成方便:Tomcat也可以与其他一些软件集成起来实现更多的功能 。如与JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于XML的应用,与OpenJMS集成起来开发JMS应用 。除了提到的这几种外,可以与Tomcat集成的软件还有很多 。 Tomcat目前已经被许多软件集成,例如Eclipse、IDEA等IDE软件,它们能够方便地集成Tomcat的各种版本 。这些IDE软件在开发中能够自由的配置指向Tomcat的安装路径,可以随意选择Tomcat的不同安装版本,在开发环境中即可嵌入Tomcat运行环境,进行集成调试 。这时的Tomcat就好比一个插件,即插即用,十分方便 。
推荐阅读
- 10个JavaScript难点
- 如何控制Java多线程分布到不同的CPU核上去?
- 哈维尔2027是什么梗
- 中国最大风洞 中国超高速风洞
- 中国十大名茶黄山毛峰产地及品质介绍
- 我国茶区分布地跨中热带 边缘热带 南亚热带 中亚热带 北亚热带和暖温带介绍
- 中国十大名茶西湖龙井茶叶介绍
- 中国|马斯克登顶福布斯全球亿万富豪榜 旗下企业大涨:钟睒睒、张一鸣成中国最牛富豪
- 防煤气中毒?大雪节气养生有“七宜七防”
- 中国茶叶分类方法划分介绍