A. 请问,01为何访问jsp需要web服务器 (或者说tomcat之类的容器,Tomcat是一个容器
呃,这个问题是这样的。你没有指定“访问”动作的主语。其实问题是01为何浏览器访问jsp需要web服务器?02浏览器访问静态HTML页面不需要服务器,字节通过文件路径即可?如果稍微有点http协议或者计算机网络相关方面的知识的话,就不会有这么让人笑掉大牙的疑问了,不过no mb question(建议你看看headfirst servlet & jsp这本书)。
答案是这样的:http协议规定,浏览器是需要联网去访问,然后以“数据流”地形式把资源(如静态html页面)“download”到本地,这一过程称为请求—响应过程;然后浏览器再读取本地的html文件代码,以html格式标准去解析资源并通过gui显示出来。所以不光是jsp任何资源包括html文件,img文件,js文件等等,都是这样一个过程。至于你在电脑上点击html文件,这算是浏览器自身的拓展过程,它把文件地打开过程模拟成http请求,其实浏览器可以打开任何文本文件,包括jsp--jsp源文件本身就是一个文本文件,只是浏览器会按照html格式标准去解析,所以02问题不应该用访问,顶多算是打开。至于01,tomcat是一个servlet容器,按不严格地说法,可以认为是web服务器软件的一种,jsp经过Tomcat解析(注意不是客户机上的浏览器去解析)编译后,运行在tomcat上。
简而言之是:浏览器访问任何资源都需要服务器程序,浏览器负责执行请求(request),服务器程序负责执行响应(response);浏览器可以打开html文件、jsp文件,但这个过程不叫访问。
B. web服务器怎样处理jsp
具体是这样的:
JSP页面会在第一次被请求的时候,被webcontainer翻译成servlet,编译成字节码,最后处理成html传回客户端(浏览器端),浏览器进而对此html进行render,这就是客户就可看到东西。
JSP如果修改了,之后对此JSP的访问还会被webcontainer进行翻译及编译的工作,但是如果JSP没有修改,将不会被webcontainer重新翻译及编译,以此来提高jsp对客户端的响应速度。
C. web容器 web服务器 servlet/jsp容器 之间的区别和关系
Servlet是Java代码为主,JSP是html为主。JSP是Servlet的化生。JSP最后会自动生成.java/.clsss文件。
Servlet擅长Java代码,JSP擅长html。但是Servler也能输出Html代码,JSP也能书写Java代码。不过有点不方便。
D. [jsp问题]何谓web服务器
顾名思义,WEB服务器是服务器的一种,它是用来专门构架网站,存放站点网页的服务器。
Web服务器属于功能型服务器范畴,它与邮件服务器、DNS服务器、视频服务器等都是从以前的通用服务器中分离出来的。
Web服务器与其它服务器存在的主要区别不是体现在上述硬件方面,更重要的是它的软件系统,更需要一整套的Web服务器软件来组建Web站点、支持Web应用。一般的品牌Web服务器都同时提供了自己的Web服务器软件系统,功能一般都非常强大,而不是像一般的服务器那样只提供带有操作系统的主机。的主要用途就是为企业组建站点,它不仅需要一台物理硬件服务器方面。
目前Web服务器软件系统有多种选择, 下面对目前流行的Web服务器系统进行简要介绍:
◆Apache
Apache httpd服务器系统源于NCSA httpd服务器,经过多次修改,成为目前世界上最流行的Web服务器软件之一,据一些权威机构统计,全世界有近60%的站点是采用这一系统的。
◆IIS
大家都知道,IIS(Internet Information Server)是微软公司的产品,它借助于Windows NT/2000/Server 2003操作系统在PC界处绝对优势,也是当今使用最广泛的Web服务器之一。由于它具有与操作系统的亲和性,并继承了Microsoft 产品一贯的用户界面,IIS 利用与Microsoft Proxy Server、Certificate Server、Site Server、BackOffice 以及其他应用程序紧密结合之便,成为功能强大、使用方便的Web服务器。
网页是属于某个特定的网站的,网站的数据又存放某个特定的WEB服务器上,一个WEB服务器上又可以存放多个网站(通过虚拟主机技术,每个网站访问量小),也可以是一个WEB服务器上只存放一个网站(网站访问量大),甚至多台WEB服务器同时作为一个网站的镜像服务器(访问量巨大,如google、yahoo)。
你上网看到的网页当然是先从WEB服务器中申请,然后WEB服务器将信息返回到客户端,也就是你的电脑上显示出来。它们大都存放在电信局的机房,有条件的公司可以自己申请专线,服务器放在自己公司。有机会做主机托管的话,你就可以看到电信的机房里有很多服务器,大多都是WEB服务器。
E. 目前JSP开发用的最普遍的web服务器和数据库是什么啊
Tomcat和Oracle
应该是最主流,其他的服务器WebLogic,Apache也用的比较多,数据库就更多了,Postgre,MySQL等等,不过都大同小异,学通一个就可以了
F. jsp在Web服务器上的运行过程是什么
以jsp为例吧。
用户向web服务器以HTTP请求的形式请求资源。HTTP请求中有几个重要的参数,一个是请求方法GET还是POST还是其它,请求的URL是Sample.jsp。
服务器得到这些请求后对参数进行分析,如/Sample.jsp的URL请求,这个请求一般会映射一个jsp页面或servlet,服务器会把浏览器的HTTP请求打包提供给index.jsp来运行(注意,jsp最终会被编译为可运行的类文件,它的任务是说明向浏览器发送什么数据)
jsp或servlet运行的结果就是向浏览器回送一次HTTP回应,这个回应也包括一些参数和最后的正文,正文的内容就是html语言了。浏览器对html进行解释,html正文里还有一些资源如如<img src="..." />,浏览器会再一次对服务器进行请求,不过对于图片这些静态内容,服务器是会直接返回的(不会经过jsp或servlet的)
一次完整的动态web交互就完成了 :HTTP请求-》服务器处理-》HTTP回应
如果觉得这个是那么回事就给点分撒,呵呵
G. JSP页面是在web服务器上运行吗
是的,JSP页面显示转译成servlet,然后再编译成字节码文件(*.class),最后在java虚拟机上运行,而转译靠的是web服务器.
第一次访问JSP是比较慢的,就是因为jsp页面先要转译成servlet,再编译成class文件,最后虚拟机运行,而 第二次访问同一jsp页面就比较快了,省略了转译和编译的过程,上一次编译好的class文件直接在虚拟机上运行就可以了.
H. 哪些web服务器可以运行jsp文件
护卫神·apache大师。支持PHP+JSP
I. 关于JSP的WEB服务器的困惑,希望高人指点迷津
给你个建议,如果你的网站没有asp内容的话,就不必选择;IIS和TOMCAT结合了。因为那样的话不但会给你的项目带来风险,IIS的安全问题一直是受到怀疑的,还有就是可移植性的问题,iis只能在win下运行,如果项目做大了肯定是要部署到linux或unix的,这将会对将来所扩展造成不必要的麻烦。
有一个好的建议是使用TOMCAT+APACHE,APACHE是专门用来处理静态页面的,而且是开源的,不会出现大的漏洞,即使出现了也能在第一时间解决。而且这两个产品是同属于apache旗下的,对产品的兼容性做的很好。因此建议你使用apache+tomcat而非iis+tomcat。
至于你后面那个问题,是这样的,jsp和servlet肯定是交给tomcat的。因为apache和iis等服务器是不能执行jsp的。使用他们结合的主要原因是让tomcat专门做动态网页的处理,而静态的部分则交给更擅长处理静态资源的web服务器(像apache,iis等)。你可以使用正则表达来完成对这些资源的分配。这样你的服务器就可以各取所长了。
像很多大型网站都是使用apache做为前端静态资源处理的,比方说新浪,搜狐,网络的部分前台服务器。