关于JSP的语法和常用的内置对象,EL表达式的使用方法

注释

  在 JSP 中支持两种注释的语法操作,一种是显示注释,这种注释是允许客 户端看见的; 另一种是隐式注释,此种注释是客户端无法看见的

1.        显示的注释语法:从 HTML 风格继承而来。

2.        隐式的注释语法:从 JAVA 风格继承;JSP 自己的注释。 常见的JSP的语法注释:

   常见的JSP的语法注释:

1.        // 注释,单行注释 /* 多行注释*/

2.             <!--  HTML 风格的注释 -->

3.             <%--   JSP 注释  --%>

Scriptlet

  在 JSP 中最重要的部分就是 Scriptlet(脚本小程序), 所有嵌入在 HTML 代 码中的 Java 程序都必须使用 Scriptlet 标记出来,在 JSP 中一共有三种 Scriptlet 代码

1.      <%    %>: java 脚本段,可以定义局部变量、编写语句

2.      <%!   %>:声明,可以定义全局(成员)变量、方法、类

3.      <%=  %>:表达式,数据一个变量或具体内容

 

JSP 的指令标签

  page 指令

    掌握使用 page 指令常用的属性 contentType 和 pageEncoding,分别用来 指定 MIME 类型 和编码格式。import 属性,用来引入其他包,和 java 中 import 语句作用相同。

    使用page指令可以对页面进行相关的设置:contentType 主要的功能是用来设置 MIME(页面响应类型),而 charset=”UTF-8” 指定了编码,利用 pageEncoding=”UTF-8”也能指定编码,前者更常用。在 JSP 中,如果 charset 存在,那么 JSP 的编码由 charset 决定,而如果 不存在才会由 pageEncoding 来决定,如果都不存在,则使用 ISO-8859-1 编码。

<%@ page contentType=”text/html;charset=UTF-8”%>

    page 指令中存在 import 属性,所以导包就可以正确使用了,在整个 page 指令的属性中, 只有 import 语句可以多次出现,其他属性都只能设置一次。 能导包意味着可以直接在 jsp 中 链接数据库。 

<%@page import="java.util.*" import="java.io.*" %>

//也可以合成一句

<%@page import="java.util.* ,java.io.*" %>

    指令中的include 静态包含:静态包含就是将内容进行了直接的替换,就好比程序中定义的变量一样是在 servlet 引擎转译时,就把此文件内容包含了进去(两个文件的源代码整合到 一起,全部放到_jspService 方法中),所以只生成了一个 servlet,所以两个页面不能有同名的变量。 运行效率高一点点。耦合性较高,不够灵活。

 

<%@include file="include.jsp"%>

<%@include file="include.html"%>

 JSP 动作标签

动作标签,它们被编译成执行某个操作的 Java 代码,例如访问某个 Java 对 象,或者调用某个方法。JSP 容器有自己支持的标准动作。除标准动作之外,还 可以创建指定的标签, 用来执行某些操作。这些 jsp 的动作标签,与 html 提 供的标签有本质的区别:

1.       动作标签是由 tomcat(服务器)来解释执行!与 java 代码一样,都是在服务器 端执行

2.       html 由浏览器来执行

include 动态包含

include 动作用于动态地包含另一个资源,它可以包含另一个 JSP 页面、一 个 Servlet 或 者一个静态的 HTML 页面。

<jsp:include page="include.jsp"></jsp:include>

         如果在jsp的动态标签中加入空格,就会报错,因为编辑器会默认你会加入参数,也就是说你可以在这中间加入你想要的参数。

jsp:include page="hello.jsp" flush="true">

<jsp:param name="school" value="shsxt"/>

</jsp:include>

 

九大内置对象

  request 对象

         request 对象是 javax.servlet.httpServletRequest 类型的对象。 该对 象代表了客户端的请求信息,主要用于接受通过 HTTP 协议传送到服务器的数据。(包括头信息. 系统信息. 请求方式以及请求参数等)。request 对象的作用 域为一次请求

  response 对象

  response 代表的是对客户端的响应,主要是将 JSP 容器处理过的对象传回 到客户端。response 对象也具有作用域,它只在 JSP 页面内有效。

  session 对象

session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个 用户都生成一个 session 对象,用于保存该用户的信息,跟踪用户的操作状态。

session 对象内部使用 Map 类来保存数据,因此保存数据的格式为“Key/value”。 session 对象的 value 可以是复杂的对象类型,而不仅仅局限于字 符串类型。

  application 对象

         application 对象可将信息保存在服务器中,直到服务器关闭,否则 application 对象中保存的信息会在整个应用中都有效。 与 session 对象相比,application 对象生命周期更长,类似于系统的“全局 变量”。

  out 对象

         out 对象用于在 Web 浏览器内输出信息,并且管理应用服务器上的输出缓 冲区。

pageContext 对象

         pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP 页面的 out. request. reponse. session. application 等对象。

   pageContext 对象的创建和初始化都是由容器来完成的,在 JSP 页面中可 以直接使用 pageContext 对象。

        

  config 对象

         config 对象的主要作用是取得服务器的配置信息。通过 pageConext 对象 的 getServletConfig() 方法可以获取一个 config 对象。

  page 对象

         page 对象代表 JSP 本身,只有在 JSP 页面内才是合法的。 page 隐含对 象本质上包含当前 Servlet 接口引用的变量,类似于 Java 编程中的 this 指针。

  exception 对象

         exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,在一般的 JSP 页面中使用该对象将无法编译 JSP 文件。

   excepation 对象和 Java 的所有对象一样,都具有系统提供的继承结构。 exception 对象几乎定义了所有异常情况。

   如果在 JSP 页面中出现没有捕获到的异常,就会生成 exception 对象,并 把 exception 对象传送到在 page 指令中设定的错误页面中,然后在错误页面中 处理相应的 exception 对象。

 

page 范围 pageContext : 只在一个页面中保存属性,跳转之后无效

request 范围 request : 只在一次请求中保存,服务器跳转后依然有效

session 范围 session : 在一次会话范围中,无论何种跳转都可以使用,但是新开浏览 器无法使用

application 范围 application : 在整个服务器上保存,所有用户都可以用

EL 表达式

1. EL 语法和使用

语法结构非常简单: ${expressio}

EL 表达式一般操作的都是域对象中的数据,操作不了局部变量。域对象的概念在 JSP中一共有四个:pageContext, request, session, application;范围依次是,本页面,一次请求, 一次会话,整个应用程序。而 EL 默认的查找方式为从小到大查找,找到即可。当域对象全找完了还未找到则返回空字符串””。

2. EL 运算

使用 EL 表达式可以用来判断集合中是否有元素${empty list}

猜你喜欢

转载自www.cnblogs.com/yxmgg/p/9152990.html