请问,01为何访问jsp需要web服务器? (或者说tomcat之类的容器,Tomcat是一个容器

2024-11-22 23:46:37
推荐回答(2个)
回答(1):

呃,这个问题是这样的。你没有指定“访问”动作的主语。其实问题是01为何浏览器访问jsp需要web服务器?02浏览器访问静态HTML页面不需要服务器,字节通过文件路径即可?如果稍微有点http协议或者计算机网络相关方面的知识的话,就不会有这么让人笑掉大牙的疑问了,不过no dumb 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文件,但这个过程不叫访问。

回答(2):

浏览器端是不识别JSP代码的.所以遇到JSP文件的时候,就需要服务端将编译好的文件解释成用户 浏览器端能识别的HTML语言,发送给用户浏览.

HTML页面本身就是浏览器可以识别的,这类静态文件,可以直接发送到客户端,供用户浏览.