JSP , Servlet 和动态网页.

JSP , Servlet 和动态网页.

1. 使用Servlet 可以产生动态网页,但是需要在代码中打印输出很多HTML的标签.
    ->即,将静态显示的内容和动态产生的内容全部放到代码中。

2. 在静态的网页文件中嵌入脚本代码(Java代码,JSP标记),实现动态网页。这个技术叫做JSP技术(Java Server Pages)
 
3. JSP 文件在用户第一次请求时,会被编译成Servlet , 然后由这个 Servelt 处理用户的请求。

4. JSP 和 Servlet 的区别.
    - servlet 是Java 对CGI 的回应。在服务器上执行和解释浏览器的请求。是客户端和其他应用程序之间的中间层。
    - JSP把静态和动态的内容分离,实现了内容和表示的分离。
    - 使用JSP ,不需要单独配置每个文件,只要扩展名是.jsp , JSP 容器(也是Servlet 容器)就会自动识别,将其转化为Servlet 为客户端服务。


* JSP 的运行机制。
   编辑新的hello.jsp 文件 , 放到%CATALINA_HOME%\webapps\ROOT 下.
   -> 启动 Tomcat, 打开 http://localhost:8080/hello.jsp. 可以看到页面输出"Hello World!".
   -> 在%CATALINA_HOME%\work\atalina\localhost\_\org\apache\jsp下面看到两个文件: hello_jsp.java, 和 hello_jsp.class.
       (这两个文件是我们访问hello.jsp文件时,由JSP容器生成的)
  
   整个过程如下:
   客户端C -----> (1) 请求 JSP 页面 --------> 服务器端S(JSP容器) :  JSP 文件  (hello.jsp)
                                                                                          ↓ (2) 转化
                                                                                        Servlet 文件 (hello_jsp.java)
                                                                                          ↓ (3) 编译 (javac)
                                                                                        class 文件 (hello_jsp.class)
                                                                                          ↓ (4) 执行
    客户端C<----- (5) 返回响应        <-------- 服务器端S(JSP容器) : -Servlet实例
    第一次加载JSP页面的时候,因为要将JSP文件转化为Servlet 类, 所以响应速度慢。
    再次请求时,JSP容器就会直接执行第一次请求产生的Servlet 所以速度快。
   

原文地址:https://www.cnblogs.com/fdyang/p/2858727.html