zoukankan      html  css  js  c++  java
  • 重拾JSP

    1、JSP页面的工作原理

    1)浏览器发送一个HTTP请求到服务器,服务器识别HTTP请求是一个JSP页面时,将其转发给容器,容器将其转换成Servlet的内容(Java代码)。

    2)容器首先检查是否需要编译这个文件,如果这个文件没被编译过或者在上次编译后被更改过,则编译这个JSP文件生成Servlet的一个可执行类。

    注解:容器是用来容纳其它组件的,这些组件包括JSP或者Servlet,完成这些组件对象的加载、实例化、方法的调用以及对象的销毁。

    3)容器加载Servlet类并将该类实例化,再调用该类的init、service、destory等进行生命周期服务。

    注解:类的加载机制是将.java文件编译后的Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程。

    4)在执行期间,Servlet产生HTML的格式输出,再传递到Web服务器响应HTTP请求。

    5)Web服务器响应HTTP转发静态的HTML内容到浏览器。

    6)浏览器处理HTTP响应动态生成的HTML页面。

    2、JSP页面和Servlet的关系

    JSP经过编译后就变成了Servlet(JSP的本质就是Servlet,由于JSP代码不能被JVM识别,因此需要Web容器将JSP的代码编译成JVM能够识别的Java类)

    3、JSP页面的组成

    JSP页面中包含了JSP元素和Template Data两类。

    JSP元素是指由Web容器直接处理的部分,Template Data指的是标记<%......%>以外的部分,例如代码中的HTML内容等。

    4、JSP脚本的三种形式

    1)脚本段:<%    %>  // 用于嵌入标准的Java代码

    2)表达式:<%=    %>  // 用于直接输出表达式的值

    3)声明:<%!    %>  // 用于声明JSP中的变量

    5、JSP脚本、编译器指令和JSP动作的语法

    1)脚本段:以分号结尾,该程序片中的变量为局部变量。

    2)表达式:包含计算,转换为字符串并插入出现在JSP文件中的脚本语言表达式。该表达式必须能求值,但是不能使用一个分号来结束表达式。

    3)声明:在声明中不能对变量进行赋值。

    4)注释:① <!--    --> // 在客户端查看源代码时能看到的注释 ② <%--    --%> // 在客户端查看源代码时无法看到的注释

    5)page指令:<%@ page ... %>  // 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等

    6)include指令:<%@ include ... %>  // 用来定义JSP文件转译和编译时,需要嵌入的文本或代码

    7)taglib指令:<%@ taglib ... %>  // 引入标签库的定义,可以是自定义标签

    8)JSP动作标签只有一种语法格式,它严格遵守XML标准:<jsp:action_name attribute1="value1" attribute2="value2" .../>

    注解:

    1)Web容器是一种服务程序,是能够支持发布web程序的软件,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,例如Java中的Tomcat容器。

    参考文档:

    1)https://www.cnblogs.com/xuedexin/articles/5611300.html

    2)https://blog.csdn.net/u013617791/article/details/81809250

    3)https://www.cnblogs.com/leiqiannian/p/7797188.html

    4)https://www.runoob.com/jsp/jsp-life-cycle.html

  • 相关阅读:
    如何使用GOOGLE高级搜索技巧
    你所认为的极限,可能只是别人眼中的起点
    飞机选座——附:东航320选坐攻略
    古诗词里,从初识到相爱到分离到重逢的漫长过程
    从零开始学摄影
    Python之运维
    Linux用户和组密令大全
    centos7 下安装生物信息软件的问题小总结
    VMware锁定文件失败开启模块diskearly的操作失败未能启动虚拟机
    linux 基本命令整理--转
  • 原文地址:https://www.cnblogs.com/GjqDream/p/11545153.html
Copyright © 2011-2022 走看看