JSP介绍及执行过程

1、JSP介绍:

由SUN公司提供的动态web资源的开发技术,看起来非常像html,但是可以在JSP页面中写java代码。

所以JSP是一种动态web资源开发技术。

JSP本质上就是一个Servlet。

思考:JSP技术产生的原因?(了解)

JSP的出现是为了解决Servlet在响应时不适合向外输出完整页面、以及解决html无法展示动态数据的问题

(1)Servlet本质上是一段java代码,非常适合处理逻辑,但是处理的结果不太适合由Servlet向外输出(不适合输出完整的html页面)。

(2)HTML是用于开发网页的一门技术,可以用来展示数据。但是HTML开发出来的页面本质上就是一个文档(静态资源),无法展示动态的数据。

(3)JSP非常适合编写HTML代码,适合作为响应页面向外输出,同时JSP里可以写java代码,也可以展示动态的数据。所以JSP的出现既可以解决Servlet不适合向外响应一个完整的页面又可以解决html无法展示动态数据的问题。

补充:

静态web资源:在任何情况下,任何人去访问看到的效果是一样的就是静态web资源,比如html/css/js;

动态web资源:在不同的访问条件下或者不同的人去访问,可以看到不同的效果,这就是动态web资源,比如Servlet/JSP/.NET/PHP;

2、JSP执行过程

通过浏览器访问一个JSP文件,很多人会误以为,服务器是直接将JSP文件响应给浏览器,浏览器直接解析JSP从而显示网页内容。这个理解的错误的! 因为JSP中包含JSP特有的元素,并且其中可能会包含Java代码,这些内容浏览器是无法解析的。

JSP的执行过程图解:JSP在第一次访问时,会被翻译成一个Servlet,对JSP访问后看到的网页内容,其实就是翻译后的Servlet在向外输出!

JSP介绍及执行过程

index.html的执行过程:

http://localhost/day10-jsp/index.html

  1. 浏览器发请求访问day0-jsp应用下的一个index.html文件,服务器接收请求后,会调用服务器提供的一个默认的Servlet来处理该请求.
  2. 默认的Servlet根据请求的资源路径(/index.html)到web应用的目录内部寻找index.html,如果找到,会将当前文件的内容通过响应实体发送给服务器,由浏览器解析显示;

如果找不到index.html,将会返回一个404页面,提示客户端请求的资源不存在!

index.jsp的执行过程:

  1. 当浏览器发请求访问index.jsp时,首先根据访问路径找到index.jsp文件.JSP翻译引擎会将JSP翻译成一个Servlet程序(JSP-->xxx.java-->xxx.class),翻译后的Servlet会(在服务器端)执行,执行后的结果就是向浏览器客户端发送一个html网页

     2、所以访问JSP后看到的html网页,其实就是翻译后的Servlet负责发送给浏览器的!