`
明月昏灯
  • 浏览: 12002 次
社区版块
存档分类
最新评论

jsp笔记

jsp 
阅读更多
JSP 编译指令:
JSP的编译指令是通知JSP引擎的消息的。它本身不直接生成输出。编译指令都会有
默认值。并且不需要再开发过程中,每个都设置。

JSP 三大指令:
1、page: 该指令是针对当前页面的指令
2、include: 用于指定包含另一个页面
3、taglib: 用于定义和访问自定义标签

JSP编译指令语法:
<%@ 属性=属性值  %>

Page指令:
page指令通常位于JSP的头部,注意一个JSP页面可以包含一个或者多个page指令
<%@ page
   [language="Java"]
   [extend="package.class"]
   [import="package.class|package.*|..."]
   [session="true|false"]
   [buffer="none|8KB|..."]
   [autoFlush="true|false"]
   [isThreadSafe="true|false"]
   [info="text"]
   [contentType="mineType;charset="UTF-8"]
   [pageEncoding="ISO-8859-1"]
   [isErrorPage="true|false"]
   [errorPage="error.jsp"]
%>

language: 声明当前JSP页面使用的脚本语言种类,通常是java。默认值也是java。
extends: 指定JSP页面编译所产生Java类所去继承的类。
import: 通常用来导入包。有几个包是默认自动导入的:
java.lang.*,java.servlet.*,java.jsp.*  ...;
session: 设置当前页面是否需要HTTP Session。
buffer: 设置当前的缓存大小。默认值为8KB。可以设置none。
autoFlush: 当前输入缓冲区即将溢出的时候,是否需要抛出一个溢出异常。
info: 设置该JSP页面的信息。
errorPage: 指定错误处理的页面。
isErrorPage: 设置本JSP页面是否需要错误页面。通常情况下是无序指定。
contentType: 用于生成网页的文件格式以及编码。
pageEncoding: 指定生成网页的编码字符集。

include 指令:

使用incluce,可以将一个外部文件包含到JSP文件中,同时解析必要Java语法。注意编译指令
最好引入静态的JSP文件。什么静态引入?一旦使用编译include的静态引入本把引入的JSP融合
成一个页面。因此被包含页面设置不需要是完整的页面。
<%@include file="relativeURLFile" %>

注意:需要指出的是,静态包含还会包含页面中的编译指令,如果
两个页面的编译指令相冲突,程序报错。

JSP 动作指令:
动作指令与编译指令不同,编译指令是通知Servlet引擎去处理消息。
而动作指令只是运行时的动作。编译指令在将JSP编译成Servlet时起作用。
而动作指令通常可替换成JSP脚本。(注意:它只是JSP脚本的标准化写法)

JSP 7个动作指令如下:
1、jsp:forward 执行页面专项,将请求处理转发到下一个页面。
2、jsp:param 用于传递参数,注意:必须和其他支持参数的标签一起使用。
3、jsp:include 用于动态引入一个JSP页面。
4、jsp:plugin 用于下载JavaBean 或者  Applet 到客户端执行。
5、jsp:useBean 创建一个JavaBean的实例。
6、jsp:setProperty: 设置JavaBean 实例的属性值。
7、jsp:getProperty: 输出JavaBean 实例的属性值。

forward指令:
forward指令用于将页面响应转发到另一个页面。注意:forward 既可以转发到静态HTML页面。
页面转发到JSP页面,或者转发给容器中的Servlet。

forward 格式如下:
JSP 1.0之前:
<jsp:forward page="{relativeURL|<%expression%>}"/>
JSP 1.1以上规范语法:
<jsp:forward page="{relativeURL|<%expression>}">
<jsp:param.../>
</jsp:forward>

注意:第二种也就是1.1以上的规范在转发时增加额外的请求参数。
所以请求参数的值,可以通过HttpServletRequest类中的getParameter()方法获取。

注意:1、执行forward请求时,用户请求的地址并没有发生改变。但是页面内容全部改成目标
页面内容。
    2、执行forward指令请求的时候,客户端的请求参数不会丢失。

总结:从表面上看,<jsp:forward .../> 指令给人感觉,它是将用户请求“转发”给另一个页面
。但是实际上,<jsp:forward .../> 并且没有重新向另一个页面发送请求。它是完全采用了
新页面来对用户生成响应。请求依然就只是一次请求。

include指令:
include指令一个动态include指令,也用于包含某个页面。它不会导入被include页面编译指令。
仅仅将被导入页面的body内容插入本页面。

include格式如下:
1、<jsp:include page="relativeURL|<%expression%>" flush="true"/>
2、<jsp:include page="relativeURL|<%expression%>" flush="true">
<jsp:param name="名称" value="值"/>
   </jsp:include>
  
flush属性用于指定输出缓存是否转移到被导入的文件。如果指定为true,则包含在被
导入的文件中,如果指定为false,那么就不包含。

注意,对于第二种写法,需要额外添加参数。

静态导入和动态导入的3点区别:
1、静态导入是将被导入的页面代码的完全融入,两个页面内容完全的在一起形成一个整体,编译。
而动态的其实在Servlet源码只是一句引入的话仅此而已。
2、静态导入时被导入的页面的编译命令会起作用,动态导入则不会有该种问题。
3、动态还可以增加额外的参数。

jsp:forward 和  jsp:include
实际上,jsp:forward和jsp:include动作指令十分相似,这是它们的语法
都是采用特殊的方法去引入目标的页面。通过查看JSP页面所生成Servlet代码可以发现区别。
区别在于:执行forward时,被forward的页面将完全代替原有的页面。
而执行include时,被include的页面只是插入原有的页面。

jsp:useBean指令,jsp:setProperty指令,jsp:getProperty指令:
这三个指令都是与JavaBean相关的指令。其中useBean指令用于JSP页面
初始化Java实例。setProperty指令用于JavaBean实例设置相关属性。
getProperty指令用于JavaBean实例获取相关属性。

使用前提:如果多个JSP页面中需要重复使用某段代码。则可以把
这段代码定义成Java类的方法。然后让多个JSP页面调用该方法。

useBean的语法格式如下:
<jsp:useBean id="name" class="classname" scope="page|request|
session|application"/>
page: 该JavaBean实例仅在该页面有效。
request: 该JavaBean实例仅在请求的时候有效。
session: 该JavaBean实例仅在本次session会话内有效。
application: 该JavaBean实例会一直有效(本应用)。

setProperty指令语法如下:
<jsp:setProperty name="BeanName" property="属性名" value="值"、>
其中name属性需要设置JavaBean实例名。

getProperty指令语法如下:
<jsp:getProperty name="BeanName"  property="属性名" value="值"/>

JSP 隐式对象:
所谓对象,就是在JSP中内置好的对象,就叫隐式对象。
JSP 九大内置对象:
1、application  -- javax.servlet.ServletContext。
该实例代表JSP所属的Web应用本身。
2、config  -- javax.servlet.ServletConfig
该实例代表JSP所属的配置信息。
3、exception -- java.lang.Throwable
该实例代表JSP所属其他页面的异常和错误。
4、page --  代表页面本身。也就是Servlet的this
5、out -- javax.servlet.jsp.JspWriter
该实例代表JSP的输出流
6、pageContext -- javax.servlet.jsp.PageContext
该实例代表页面的上下文
7、request -- javax.servlet.HttpServletRequest
该实例封装一个请求
8、response -- javax.servlet.HttpServletResponse
该实例代表客户端的响应
9、session -- javax.servlet.HttpSession
该实例代表一次会话

application 通过setAttribute方法设置application的某个属性,
该属性值可以作用于整个Web。因此在Web内可以使用getAttribute获取该属性。

需要指出的是:虽然使用application(即Servlet实例)可以方便多个Servlet,多个JSP
共享数据,但不要仅仅为了JSP、Servlet共享数据就将数据放入Application中!由于Application
代表了整个的Web因此,因为只有关于整个Web项目的配置信息,数据才会放入Application

application 还有一个重要的用处:可用于获取Web应用的配置参数。web.xml

注意:通过Web获取配置参数的方式,可以将一些配置信息放在web.xml文件中配置。
避免使用硬编码方式写在代码中,该种方式可以更好的程序的移植性。

config 对象:
config对象代表当前JSP页面的配置信息。但JSP页面通常无须配置。因此也就不存在配置信息。
所以JSP页面比较少用该对象。但是Servlet中则用处相对较大,因为Servelt需要在web.xml
文件中进行配置。

exception 对象:
exception对象是Throwable的实例,代表JSP脚本中产生的错误和异常。是JSP页面异常机制的
一部分。
在JSP脚本中无须处理异常。事实上,JSP脚本包含的所有的可能出现的异常都交给错误页面处理。

注意:exception 对象仅在异常处理页面中有效,通过异常处理结构可以看出。
注意:由于只有JSP脚本,输出表达式才会对应于_jspService()方法里的代码。所以这两个
部分的代码无须关心异常。但是在JSP的声明部分依然需要处理异常。
JSP异常处理机制对JSP的声明不起作用。

注意:在异常处理的页面中,应该在page指令中isErrorPage添加上并且设置为true,
只有该属性设置为true时,才可以访问exception内置对象。



                     

分享到:
评论

相关推荐

    JSP笔记,JSP笔记

    JSP的使用通常涉及以下几个关键知识点: 1. **JSP指令和脚本元素** - `&lt;% %&gt;`:这是JSP的脚本元素,用于在页面中直接插入Java代码。这些代码会被转换为Servlet的方法,然后在服务器上执行,其结果直接输出到浏览器...

    jsp笔记资料大全

    【JSP基础与Tomcat配置】 1. **Tomcat全局配置**:Tomcat服务器的全局配置文件位于`conf/web.xml`。此文件控制了服务器的行为,例如,如果你想禁止Tomcat列出目录内容,可以通过添加以下配置来实现: ```xml ...

    JSP笔记

    ### JSP技术详解:从基础概念到核心技术 #### 一、JSP技术概览 **JSP(Java Server Pages)**是一种服务器端脚本技术,主要用于动态网页开发,结合了HTML、XML和Java编程语言的功能。它允许在HTML文档中嵌入Java...

    北京MLDN 李兴华JSP笔记

    【标题】:“北京MLDN 李兴华JSP笔记”是李兴华老师关于JavaWeb技术,特别是JSP(JavaServer Pages)的详实学习资料,由MLDN( Multimedia Learning and Development Network,多媒体学习与发展网络)发布。...

    jsp笔记帮助学习jsp

    通过阅读《Jsp笔记.pdf》,你将能够深入学习JSP 2.0的核心概念,了解如何使用JSP来创建动态Web应用,掌握JSP的各种元素、内置对象、动作标签和新特性,从而提升你的Web开发技能。结合实际项目实践,你可以更好地应用...

    达内jsp笔记完全版

    **JSP(Java Server Pages)*...达内JSP笔记完全版详细介绍了JSP的基本概念、运行机制、语法结构和生命周期,为初学者提供了全面的学习材料。通过理解并熟练运用这些知识,开发者可以高效地构建基于Java的动态Web应用。

    圣思园jsp笔记

    综上所述,北京圣思园的JSP笔记涵盖了从HTML/CSS基础到JSP页面的请求处理、会话管理和页面跳转等核心概念。通过这些笔记,学习者可以系统地掌握JSP的开发和应用,为构建动态Web应用打下坚实的基础。

    jsp笔记(20220104183605).pdf

    jsp笔记(20220104183605).pdf

    JSP笔记(20220104194929).pdf

    JSP笔记(20220104194929).pdf

    Web开发JSP笔记.pdf

    ### Web开发JSP笔记知识点概览 #### 一、HTTP请求方法:GET与POST - **GET** 方法:GET 方法通常用于从服务器检索资源。它将请求参数附加在URL后面,使得请求信息直接可见于地址栏。由于URL长度限制,GET 请求能...

    韩顺平JSP学习笔记+源代码

    ### 韩顺平JSP学习笔记与源代码解析 #### J2EE的十三种技术(规范) 在韩顺平老师的教学笔记中,首先提到了J2EE平台下的十三种核心技术,这些技术对于理解JSP及其相关的Web开发环境至关重要。 1. **Java数据库...

    jsp笔记各种资源包

    【笔记.txt】文件可能包含了关于JSP的详细学习笔记,涵盖了基础概念、语法、生命周期、内置对象、EL(Expression Language)、JSTL(JavaServer Pages Standard Tag Library)以及MVC(Model-View-Controller)设计...

    jsp考试笔记

    根据提供的文件信息,这里将基于“jsp考试笔记”的标题、描述及部分难以辨识的内容来构建一份关于JSP(JavaServer Pages)的知识点总结。 ### JSP基础概念 #### 定义 JSP(JavaServer Pages)是一种由Sun ...

    jsp经典笔记jsp经典笔记

    ### JSP基础知识详解 #### 一、JSP简介 JSP (Java Server Pages) 是一种基于Java技术的服务器端脚本技术,它允许在HTML页面中嵌入Java代码。JSP页面可以在服务器端动态生成HTML内容,从而实现动态网页的功能。 - ...

    毕业设计javajsp笔记本管理系统(ssm)-qkrp源码含文档

    毕业设计javajsp笔记本管理系统(ssm)-qkrp源码含文档 后台是ssm框架,页面是jsp,数据库mysql,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 笔记本管理 笔记管理 笔记收藏管理 笔记回收管理 包含:源码...

    韩顺平jsp九讲笔记

    【韩顺平jsp九讲笔记】是一份详细记录了韩顺平老师关于JSP(Java Server Pages)技术的九次讲解的学习资料。这份笔记涵盖了JSP的基础知识、核心概念以及实际应用,旨在帮助学习者深入理解和掌握JSP编程。韩顺平老师...

Global site tag (gtag.js) - Google Analytics