Jsp语法和九大隐式对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36636519/article/details/60347456

一、什么是JSP

JSP全称为Java Server Pages,它是一种用于开发动态web资源的技术。JSP允许在html页面中嵌套java代码在,主要作用是为用户提供动态数据

二、JSP语法

JSP模板元素

jsp的模板元素就是指的是html,html为jsp页面提供基本骨架支撑,定义页面的结构和外观。

2.1 JSP表达式

jsp脚本表达式用于将程序数据输出到客户端
<%= 变量或表达式 %>
举例:当前时间:<%= new java.util.Date %>
运行原理:jsp引擎在翻译脚本表达式是,会将程序数据转换成字符串,然后在相应的位置用out.print(…)将数据输出给客户端。

2.2 JSP脚本片段

jsp脚本片断用于在jsp页面中编写多行的java代码
e.g:
<%
多行java代码
%>
注意:
1.多行代码之间可以相互联系。多个脚本片断中的代码可以相互访问,犹如将所有的代码放在一对<%%>之中的情况。
2.jsp脚本片断必须严格执行java语法

2.3 JSP声明

jsp声明可用于定义jsp页面转换成Servlet程序的静态代码块成员变量方法

2.4 JSP注释

2.5 JSP指令

JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
- page指令
- Include指令
- taglib指令
语法格式:
<%@指令 属性名=“值”%>
e.g:<%@page contenType=”text/html;charset=utf-8”%>
指令的属性可以有一个或者多个属性,并且不同属性可以分开写

Page指令

Page指令用于定义页面的各种属性,它作用于整个jsp页面。一般放在jsp页面的起始位置
相关语法
<%@page
language=”java”
extends=”package.class”
import=”package.class”导包
session=”true|false” 禁止或者允许session
errorPage=”url”
erorPage属性的设置值必须使用相对路径,以“/”开头表示相对域当前web应用程序的根目录
可通过web.xml文件使用元素为整个web应用程序设置错误处理的页面
指定异常类的完全限定名
指定以“/”开头的错误处理页面的路径
注意:jsp页面的errorpage属性,优先于web.xml文件的处理错误页面的作用。

taglib指令

Taglib指令用于在JSP页面中导入标签库,

三、JSP九大隐式对象

Request
Response
Session
Application 也就是ServletContext
config 也就是 servletConfig
Page this
Exception 注意,别漏了
out
PageContext(最重要的隐式)

out

out隐式对象用于向客户机发送文本数据
out是一个带有缓存区的输出流
因此out.writer(“data”)相比于response.getwriter(“data”)输出的数据会慢。

3.1PageContext对象

pageContext对象,
封装了对其八大隐式对象的引用;
自身自带一个域对象,可以保存数据
封装了web开发中经常用的一些操作(引入、跳转其他资源、甚至可以检索其他域对象的属性findAttribute(),这个是一个逆天的方法,十分好用)
-通过pageContext获得其他对象
getException 返回exception隐式对象
getPage 返回page隐式对象
getRequest 返回request隐式对象
getResponse 返回response隐式对象
getServletConfig 返回config隐式对象
getServletContext 返回application隐式对象
getSession 返回session隐式对象
getOut 返回out隐式对象
-pageContext作为域对象
1、pageContext对象的方法
public void setAttribute(java.lang.String name,java.lang.Object value)
public java.lang.Object getAttribute(java.lang.String name)
public void removeAttribute(java.lang.String name)
2、pageContext对象中还封装了访问其它域的方法
public java.lang.Object getAttribute(java.lang.String name,int scope)
public void setAttribute(java.lang.String name, java.lang.Object value,int scope)
public void removeAttribute(java.lang.String name,int scope)
3、代表各个域的常量
PageContext.APPLICATION_SCOPE
PageContext.SESSION_SCOPE
PageContext.REQUEST_SCOPE
PageContext.PAGE_SCOPE

3.2引入和跳转到其他资源

PageContext类中定义了一个forward方法和两个include方法来分别简化和替代RequestDispatcher.forward方法和include方法。

3.3 Jsp标签

jsp标签用于在jsp页面中提供业务逻辑,避免在jsp页面中直接写java代码,造成jsp页面难以维护。
有以下常用标签:

作用:把另一个资源的输出内容插入到当前jsp页面的输出内容,称为动态引入

猜你喜欢

转载自blog.csdn.net/qq_36636519/article/details/60347456