JSP动态网页开发技术概述(3)

  HttpJspBase类是继承HttpServlet的,所以HttpJspBase类是一个Servlet,而C1_jsp又是继承HttpJspBase类的,所以C1_jsp类也是一个Servlet,所以当浏览器访问服务器上的C1.jsp页面时,其实就是在访问C1_jsp这个Servlet,C1_jsp这个Servlet使用_jspService这个方法处理请求。

2.JSP的基本语法

2.1 JSP模板元素

  网页的静态内容。如:HTML标签和文本。

2.2 JSP脚本元素

(1)JSP Scriptlets(脚本片断)用于在JSP页面中编写多行Java代码。语法:

<% java代码(变量、方法、表达式等 ) %>

<% int sum=0;//声明变量 /*编写语句*/ for (int i=1;i<=100;i++){ sum+=i; } out.println("<h1>Sum="+sum+"</h1>"); %>

JSP动态网页开发技术概述

JSP动态网页开发技术概述

JSP脚本片断中只能出现java代码,不能出现其它模板元素, JSP引擎在翻译JSP页面中,会将JSP脚本片断中的Java代码将被原封不动地放到Servlet的_jspService方法中。JSP脚本片断中的Java代码必须严格遵循Java语法,例如,每执行语句后面必须用分号(;)结束。在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素。多个脚本片断中的代码可以相互访问,犹如将所有的代码放在一对<%%>之中的情况。如:out.println(x);单个脚本片断中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句。

<% for (int i=1; i<5; i++) { %> <H1>:8080/JavaWeb_Jsp_Study_20140603/</H1> <% } %>

(2)JSP声明

  JSP页面中编写的所有代码,默认会翻译到Servlet的service方法中,而JSP声明中的java代码会被翻译到_jspService方法外面。

<%! java代码:定义变量或者方法 %>

  多个静态代码块、变量和方法可以定义在一个JSP文件中,也可以分别单独定义在多个JSP声明中。

  JSP隐式对象的作用范围仅限于Servlet的_japService方法。所以在JSP声明中不能使用这些隐式对象。

JSP声明案例:

<%! static { System.out.println("loading Servlet!"); } private int globalVar = 0; public void jspInit(){ System.out.println("initializing jsp!"); } %> <%! public void jspDestroy(){ System.out.println("destroying jsp!"); } %>

(3)JSP 表达式

  JSP脚本表达式(expression)用于将程序数据输出到客户端,他将要输出的变量或者表达式直接封装在以<%= %>标记中,语法为:

<%=expression%>

举例:输出当前系统时间:

<%= new java.util.Date() %>

  JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.print(...)将数据输给客户端。

  JSP脚本表达式的变量或者表达式后不能有分号(;)。

JSP动态网页开发技术概述

JSP动态网页开发技术概述

3.JSP注释

  (1)显式注释:直接使用HTML风格的注释:<!- - 注释内容- -> 特点:不安全,费流量;HTML的注释在浏览器中查看源文件的时候是可以看得到的

  (2)隐式注释:直接使用JAVA的注释://、/*……*/

 JSP自己的注释:<%- - 注释内容- -%> 特点:安全,省流量

JAVA注释和JSP注释在浏览器中查看源文件时是看不到注释的内容的

<!--这个注释可以看见--> <% //JAVA中的单行注释 /* JAVA中的多行注释 */ %> <% --JSP自己的注释--%>

参考:

https://www.jb51.net/article/191459.htm

https://www.jb51.net/article/191453.htm

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wxwsxw.html