web服务器端软件(web服务器端程序)
下列常见的javaweb服务器软件,哪些是收费的Resin提供了最快的jsp/servlets运行平台。
8、Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。
9、BEAWebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
10、Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
常用的web服务器软件有哪些
1IIS
IIS是英文InternetInformationServer的缩写,译成中文就是"Internet信息服务"的意思。它是微软公司主推的服务器,最新的版本是Windows2008里面包含的IIS7,IIS与WindowServer完全集成在一起,因而用户能够利用WindowsServer和NTFS内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
2ApacheApache
ApacheApache在世界上的排名是第一的,它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,不仅简单、速度快、而且性能稳定,还可以用来做代理服务器。
3Nginx
Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
4Zeus
Zeus是一个运行于Unix下的非常优秀的WebServer,据说性能超过Apache,是效率最高的WebServer之一。
5Sun
Sun的Java系统Web服务器也就是以前的SunONEWebServer。主要出现在那些运行Sun的Solaris操作系统的关键任务级Web服务器上。它最新的版本号是61,可以支持x86版本Solaris,RedHatLinux,HP-UX11i,IBMAIX,甚至可以支持Windows,但它的大多数用户都选择了SPARC版本的Solaris操作系统。
Web服务器软件有哪些。简单点的?
ApacheApache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自"apatchyserver"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。IIS是英文InternetInformationServer的缩写,译成中文就是"Internet信息服务"的意思。它是微软公司主推的服务器,最新的版本是Windows2008里面包含的IIS7,IIS与WindowServer完全集成在一起,因而用户能够利用WindowsServer和NTFS内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。GFEGoogle的web服务器,用户数量激增。目前紧逼iis。Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。Lighttpd是由德国人JanKneschke领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。Lighttpd是众多OpenSource轻量级的webserver中较为优秀的一个。支持FastCGI,CGI,Auth,输出压缩,URL重写,Alias等重要功能。Zeus是一个运行于Unix下的非常优秀的WebServer,据说性能超过Apache,是效率最高的WebServer之一。Sun的Java系统Web服务器也就是以前的SunONEWebServer。主要出现在那些运行Sun的Solaris操作系统的关键任务级Web服务器上。它最新的版本号是61,可以支持x86版本Solaris,RedHatLinux,HP-UX11i,IBMAIX,甚至可以支持Windows,但它的大多数用户都选择了SPARC版本的Solaris操作系统。Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL可以使得形式和内容相分离。Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行的Java应用提供网络和web连接。BEAWebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和JavaEnterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。BEAWebLogicServer拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Web组件:有Jsp,Servlet等
Web容器:有tomcat ,jboss, resin, weblogic ,websphere, glassfish。可以理解为Web服务器。
WEB应用程序如此强大的原因之一就是他们能彼此链接和聚合信息资源。WEB组件之间存在三种关联关系:
l 请求转发
l URL重定向
l 包含关系
存在以上关联关系的Web组件可以是JSP或Servlet,对于Struts应用,则还包含Action,这些Web组件都可以访问HttpServletRequest和HttpServletResponse对象,具有处理请求、生成响应结果的功能。
1 请求转发。
请求转发允许把请求转发给同一个应用程序中的其他Web组件。这种技术通常应用于Web应用中的Servlet流程控制器。
Servlet类使用 javaxservletRequestDispatcherforward()方法来转发。转发目标将处理该请求并生成响应结果,或者将请求转发到另一个组件,最初请求的ServletRequest,ServletResponse对象被传递给转发目标组件,这使得目标组件可以访问整个请求上下文。值得注意的是,只能把请求转发给同一个web应用中的组件。下面是一个例子,当前的servlet组件要把请求转发给一个JSP组件,如hellojsp,可以在Servlet的service()方法中执行以下代码:
RequestDispatcher rd = requestgetRequestDispatcher(“hellojsp”);
Rdforward(request,response);
在jsp页面中,可以使用<jsp:forward>标签来转发请求,例如:
<jsp:forward page=”hellojsp”/>
对于请求转发,转发的源组件和目标组件共享request范围内的共享数据。
2 请求重定向
请求重定向类似于请求转发,但也有一些重要的区别:
l Web组件可以将请求重定向到任一URL,而不仅仅是同一应用中的URL。
l 重定向的目标组件与源组件之间不共用同一个HttpServletRequest对象,因此不能共享request范围内的共享数据。
例如当前应用的Servlet组件把请求转发到URL:http://jakartaapacheorg/struts,可以在Servlet的service()方法中执行以下代码:
ResponsesendRedirect(“http://jakartaapacheorg/struts”);
HttpServletResponse的sendRedirect()方法向浏览器返回包含重定向的信息,浏览器根据这一信息迅速发出一个新的HTTP请求,请求访问重定向目标组件。
3 包含
Servlet类使用javaxservletRequestDispatcherinclude()方法包含其他的Web组件。例如当前的Servlet组件包含三个JSP文件:headerjsp/mainjsp/footerjsp,则可以在servlet的service()方法中执行以下代码:
RequestDispatcher rd;
Rd = reqgetRequestDispatcher(“/headerjsp”);
Rdinclude(req,res);
Rd = reqgetRequestDispatcher(“/mainjsp”);
Rdinclude(req,res);
Rd = reqgetRequestDispatcher(“/footerjsp”);
Rdinclude(req,res);
在JSP文件中,可以通过〈include〉指令来包含其他的web资源,例如:
<%@ include file=”headerjsp”%>
<%@ include file=“mainjsp”%>
<%@ include file=”footerjsp”%>
web开发,是开发服务端的,开发好的web程序,打包成war,然后放到web容器中运行,而web容器,是部署在服务器中的。
web的客户端就是浏览器,教你设计页面,学CSS/HTML之类的。
标准的web服务器只具有与客户端浏览器通讯的功能,不能处理业务逻辑请求。
需要编写程序来复制处理客户端的请求。通过组件来处理客户端的请求,这个组件就是实现特定规范的可以单独部署的软件模块。组件必须通过容器来实现。容器是实现特定规范的程序,负责组件的运行环境和管理组件的生命周期。tomcat,weblogic都提供了容器。
web端可以理解为tomcat,并且tomcat中运行着你编写的程序,这个程序称为web应用。
java服务器开发就是通过java语言来编写程序,组合成web应用,将来部署到tomcat中,
编写的这些程序就是组件,用来处理客户端请求的。为了高效还会使用一些框架和技术来配合java程序,比如SpringMVC,struts2,Servlet。
Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的。
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 (business logic)。
以Java EE为例,Web服务器主要是处理静态页面处理和作为 Servlet容器,解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、 JNDI和JMX API等J2EE API方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。
以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。
Web服务器的缺陷是什么?Java是怎么样解决这个缺陷的?因为web服务器是被设计用来向客户端提供HTTP服务的,它只能向客户端提供静态的网页内容,不能创建动态服务器端内容。java解决方案servlet和web容器对请求和响应的处理如下:1客户端向web服务器发起一个HTTP请求;2HTTP请求被WEB服务器接受,如果请求是静态页面,则由web服务器负责处理,如果请求是javaweb主件,则交给Web容器。Web容器可以在主机的同一个进程、不同的行程或其他的web服务器主机的进程中启动。3web容器根据Servlet的配置文件确定调用具体的Servlet类,并把request对象、response对象传给它。4Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息。Servlet处理完请求后吧要返回的信息放入response对象返回到客户端。5一旦Servlet完成请求的处理,web容器就会刷新response。并把控制权返回给web服务器。
是的,二者是一回事,jsp的执行最终要转换成servlet的。
servlet容器的主要任务是管理servlet的生命周期。而web容器更准确的说应该叫web服务器,它是来管理和部署 web应用的。还有一种服务器叫做应用服务器,它的功能比web服务器要强大的多,因为它可以部署EJB应用,可以实现容器管理的事务,一般的应用服务器 有weblogic和websphere等,它们都是商业服务器,功能强大但都是收费的。web容器最典型的就是tomcat了,Tomcat是web容 器也是servlet容器。
0条评论