`

JSP 知识点

阅读更多


JSP 知识点可以用“23379”来概括,即两种注释,三种指令,三个脚本元素,七个动作,九个内置对象。具体如下:

两种注释: 一种是HTML的注释,用于描述JSP页面执行后的结果页面的功能:<!--   -->:可以在客户端显示,查看HTML文件时可以显示
一种是JSP本身的,用来描述JSP代码的:<%--   --%>:只在源代码中显示,在客户端不可以显示

三种指令

age指令:描述了和页面相关的指示信息。在一个页面中,page指令可以出现多次,但是每一种属性只能出现一次(除了import属性),重复的属性设置将覆盖先前的设置。
<%@page language=" "  session="true|false"  erroPage=" "  isErrorPage="
import=" "...%>
在一个JSP文件中可以定义多个page指令,但不可以多次指定同一属性,除了import属性。
记住:在JSP中缺省导入的包有java.lang javax.servlet javax.servlet.http javax.servlet.jsp.
session属性的缺省值是true,如果指定session="false",则session隐含变量未定义,使用时将引起错误。


include指令:用来包含另一个文件
<%@include file=" "%>  :将指定的JSP程序或者HTML文件包含近来

taglib指令:用来指示这个JSP页面所使用的标签库
<%@ taglib uri=" " prefix=" " %>

三个脚本元素

声明:页面范围的变量和方法的声明,被声明的变量和方法将在JSP页面初始化时初始化。
<%! ...%>
实际上,声明变量和方法的语句完全可以放在脚本中<%   ... %>,两者的区别是在生成的servlet中写入代码的位置,放在<%! ...%>中的声明语句在编译为Servlet的时候将作为类的成员(在_jspService()方法之外)而存在,而放在<%   ... %>中的声明将放在_jspService()方法内部被声明。因此在声明中声明的变量是全局的,在脚本中声明的变量是局部的。因此在声明中声明的变量对脚本,表达式,HTML都是可见的,但在脚本中声明的变量仅在脚本范围内可见。在声明中可以:
变量声明:小心变量的写权限,因为servlet默认是多线程的。
方法定义:因为生成的代码不在_jspService()方法中,所以它没有权限访问内置对象,如果要  使用它们,必须将之显式传递到方法中。
内部类定义:内部类式解决类型安全方式中的方案之一

脚本(Scriptlet):嵌入页面内的JAVA程序片段
<%   ... %>
在脚本中使用的式JAVA中的语法。
Scriptlet代码成了Servlet中_jspService()方法的一部分
而上面声明中的代码是在_jspService()方法之外(作为类的成员)与生成的源文件合成一体。
注意Scriptlet,表达式,HTML代码全部集成到_jspService()方法中。

表达式:把表达式变成String类型以便于包含在页面的输出中
<%=...%>
注意表达式一定要有一个可以输出的值才可以。

七个动作

动作可以影响输出的文本流,使用编辑建立对象。
id属性和scope属性式每一个JSP动作都具有的属性,其中id表示一个动作的名称,而scope表示一个动作的作用域。
scope作用域的取值有:
page:由javax.servlet.jsp.PageContext得到在用户请求次页面过程中有效
request:由ServletRequest.getAttribute(name)得到在用户的整个请求过程中有效
session:由HttpSession.getValut(name)得到在用户的整个会话期有效
application:由ServletContext.getAttribute(name)得到在WEB应用程序执行期间有效

<jsp:useBean> </jsp:useBean>  :是JSP中最重要的一个动作,它可以动态使用JavaBeans组件来扩充JSP的功能。
<jsp:setProperty> </jsp:setProperty> :用于向一个JavaBean的属性赋值。注意在这个动作中使用到的name属性的值将是一个前面已经使用<jsp:useBean> 动作引入的JavaBean的名字。
<jsp:getProperty> </jsp:getProperty> :用于从一个JavaBean中得到某个属性的值,无论原来这个属性是什么类型的,都将被转换成一个String类型的值。

<jsp:include page=" "> </jsp:include>:用于引入一个静态或动态的页面到JSP文件中,该动作可以包含一个或几个<jsp:param> 子动作用于向要引入的页面传递参数。

<jsp:forward page=" "> </jsp:forward>:用于引导客户端的请求到另一个页面或者是另一个Servlet中去。该动作可以包含一个或几个<jsp:param> 子动作用于向要引入的页面传递参数。
当<jsp:forward>动作发生的时候,如果已经有文本被写入输入流而且页面没有设置缓冲,那么将抛出IllegalStateException异常。

<jsp:param name=" " value=" "/>:常常是作为<jsp:include >,<jsp:forward>,<jsp:plugin> 的子动作使用。

<jsp:plugin type="applet|javabean">  </jsp:plugin>:用的较少,它提供了一种在JSP文件种嵌入客户端运行的JAVA程序(如:APPLET,JAVABENA)的方法。

九个内置对象

内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用

out:javax.servlet.jsp.JspWriter类型,代表输出流的对象。作用域为page(页面执行期)

request:javax.servlet.ServletRequest的子类型,此对象封装了由WEB浏览器或其它客户端生成地HTTP请求的细节(参数,属性,头标和数据)。作用域为request(用户请求期)。
方法由:
java.lang.String getHeader(java.lang.String name)
 java.util.Enumeration getHeaderNames()
 HttpSession getSession()
java.lang.String getParameter(java.lang.String name)
 java.util.Enumeration getParameterNames()
void setCharacterEncoding(java.lang.String env)
java.lang.Object getAttribute(java.lang.String name)
java.util.Enumeration getAttributeNames()
void removeAttribute(java.lang.String name)

response:javax.servlet.ServletResponse 的子类型,此对象封装了返回到HTTP客户端的输出,向页面作者提供设置响应头标和状态码的方式。经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。作用域为page(页面执行期)。
方法有:
void sendRedirect(java.lang.String location)
 boolean isCommitted()
 void setStatus(int sc)
 void setHeader(java.lang.String name, java.lang.String value)
void addHeader(java.lang.String name, java.lang.String value)
 
pageContext:javax.servlet.jsp.PageContext(抽象类)类型,作用域为page(页面执行期)。此对象提供所有四个作用域层次的属性查询和修改能力,它也提供了转发请求到其它资源和包含其他资源的方法:
该对象的方法都是抽象方法

session:javax.servlet.http.HttpSession 类型,主要用于跟踪对话。作用域session(会话期—)。HttpSession是一个类似哈希表的与单一WEB浏览器会话相关的对象,它存在于 HTTP请求之间,可以存储任何类型的命名对象。
如果不需要在请求之间跟踪会话对象,可以通过在page指令中指定session="false"
方法有:
java.lang.Object getAttribute(java.lang.String name)
java.util.Enumeration getAttributeNames()
void setAttribute(java.lang.String name, java.lang.Object value)
 long getCreationTime()
 java.lang.String getId()
需要记住的是pageContext对象也可以与session.getAttribute(),session.setAttribute()一样的方式取得并设置会话属性。

application:javax.servlet.ServletContext 类型,servlet的环境通过调用getServletConfig().getContext()方法获得。作用域是application(整个程序运行期)。它提供了关于服务器版本,应用级初始化参数和应用内资源绝对路径,注册信息的方式
方法有:
java.lang.String getRealPath(java.lang.String path) :获取应用内资源绝对路径
 java.lang.String getServerInfo()  :获取服务器信息
java.lang.String getInitParameter(java.lang.String name) :获取应用级初始化参数
 java.util.Enumeration getInitParameterNames()
java.lang.Object getAttribute(java.lang.String name)
void setAttribute(java.lang.String name, java.lang.Object object)  //这两个方法同seesion中的方法有一样的作用,只不过它跟踪的会话信息的范围更大了,是整个application.在实际应用中,根据需要选择使用哪个进行跟踪会话。

config:javax.servlet.ServletConfig,作用域为page(页面执行期)

exception:java.lang.Throwable, 通过JSP错误页面中一个catch块已经益出但没有捕获的java.lang.Throwable的任意实例,传向了errorPage的URI。作用域为page(页面执行期)。注意exception只有在page指令中具有属性isErrorPage="true"时才有效。

page:java.lang.Object类型,指向页面自身的方式。作用域为page(页面执行期)

分享到:
评论

相关推荐

    JSP知识点梳理

    JSP知识点梳理、 JSP知识点梳理 JSP知识点梳理 JSP知识点梳理

    Servlet&JSP知识点归纳思维导图

    以下是对Servlet和JSP知识点的详细归纳: **Servlet** 1. **Servlet概念**:Servlet是Java编写的小型服务器端程序,运行在Web服务器上,用于处理客户端请求并返回响应。 2. **生命周期**:Servlet的生命周期包括...

    jsp知识点详解web技术

    ### JSP知识点详解:Web技术 #### JSP与Servlet的关系 在Java EE平台中,Servlet是一种重要的技术,用于处理客户端的请求并返回响应。而JSP(JavaServer Pages)则是Servlet的一种扩展,它使得开发者可以在HTML...

    jsp知识点OneNote整理.one

    内容为Java中jsp知识点介绍,文件为OneNote格式,文件预览见主页相关博文

    jsp知识点大作业

    这些知识点可以很好的巩固你所学的jsp知识,让你的脑海中有一个jsp的框架。

    JSP语法笔记(详细介绍了JSP的一些知识点)

    这是一些表述JSP知识点的相关文档,对于一些JSP的初学者有很好的帮助,也希望这个资源能帮助想学习JSP的朋友起到作用

    WEB老师课件,包括javascript,jsp,css,html知识点

    【JSP知识点】 JavaServer Pages(JSP)是Java EE平台上的动态网页技术。它允许开发者将静态HTML与动态Java代码混合编写,提供了服务器端的编程能力。以下是JSP的关键知识点: 1. **JSP元素**:包括指令(tag ...

    jsp知识大全

    **JSP(Java Server ...通过深入理解并熟练运用这些JSP知识点,开发者能够创建高效、可维护的Web应用,满足复杂的业务需求。在实际项目中,还需要考虑性能优化、安全性及与其他框架(如Spring、Hibernate)的集成。

    jsp学习的ppt

    **JavaServer Pages(JSP)技术详解*...这个"jsp学习的ppt"涵盖了以上所有知识点,并可能包含实际示例和练习,是学习JSP的理想资源。通过深入学习和实践,开发者能够熟练掌握JSP技术,构建高效、可维护的Java Web应用。

    jsp思维导图

    jsp 网站开发 思维导图使用xmind 打开 。。。。。。。。。。。。。。。。。。。。。。。

    JSP学习资料大全(JSP教程)

    通过《jsp200问》解决实际问题,《jsp全攻略》全面覆盖JSP知识点,《jsp通用模块》教你如何构建可复用组件,《JSP技术手册》是详细的参考文档,《JSP由浅入深》则引导你逐步深入,而《图解JSP环境安装配置》则让你...

    jsp和servlet知识点总结

    【JSP和Servlet知识点详解】 一、JSP与Servlet的区别 1. **本质与生成**:JSP(Java Server Pages)本质上是Servlet的一种简化形式,它将HTML代码和Java代码结合在一起,经过Web容器(如Tomcat)的处理,被编译成...

    JSP和Servlet基础知识点

    通过阅读博文《JSP和Servlet基础知识点》(链接:https://greatwqs.iteye.com/blog/1040280),你可以深入理解这两个技术的实际应用和最佳实践,例如如何使用JSP标签库提高开发效率,以及如何在Servlet中处理会话和...

    Jsp相关知识和数据库

    以下是一些关键的JSP知识点: 1. **JSP元素**:包括JSP指令(如`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`, `&lt;%@ taglib %&gt;`)、脚本元素(如`&lt;% %&gt;`,`! %&gt;`,`&lt;%= %&gt;`)、JSP动作(如`&lt;jsp:include&gt;`, `&lt;jsp:forward&gt;`, `...

    一套JSP测试题,有答案

    尽管部分内容并未给出具体的问题或答案,但我们可以基于标题和描述中的信息推测出这套测试题可能涵盖的主要JSP知识点,并对其进行详细的阐述。 ### JSP基础知识 #### 1. JSP简介 JavaServer Pages (JSP) 是一种...

    jsp 网络相册管理

    综上所述,本段内容涉及的JSP知识点非常丰富,包括了JSP页面的创建、Java Bean的运用、JSTL的使用、字符编码设置、HTML/CSS/JavaScript的基础应用,以及与数据库的交互和会话跟踪。这些知识点构成了一个基于JSP的...

    企业门户网站 jsp

    【企业门户网站 JSP 知识点详解】 企业门户网站是企业对外展示信息、提供服务和交流互动的重要窗口,而 JSP(JavaServer Pages)是构建这种网站的常用技术之一。JSP 是一种动态网页开发技术,它结合了 HTML 和 Java...

    jsp经典案例-网上书店

    网上书店系统的实现涉及到的JSP知识点包括: - JSP指令(`&lt;%@ ... %&gt;`)、脚本元素(`&lt;% ... %&gt;`、`&lt;%= ... %&gt;`)和表达式语言(EL, `${...}`) - JSP内置对象(如request、response、session、application等) - ...

Global site tag (gtag.js) - Google Analytics