码迷,mamicode.com
首页 > Web开发 > 详细

JSP个人总结

时间:2015-12-10 21:56:01      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

应用JSP技术开发动态网站

JSP基本语法

注释

注释是每一个合格程序所必备的,它相当于产品说明书。只有有了它,你的程序才能让其他程序员读懂,同样也可以唤醒自己以前的记忆。

JSP的注释分为两类,一类为可以在客户端显示的注释,即HTML注释;一类是不能在客户端显示的注释,即JSP注释。两种注释都能起到解释代码的作用,不同是能不能在客户端显示。

(1)HTML注释使用<!--作为开始,以-->作为结束,中间包含的代码即为注释部分。

(2)JSP注释使用<%--作为开始,以--%>作为结束,中间包含的代码即为注释部分。

JSP脚本元素

JSP脚本元素的作用就是将Java代码插入到与JSP页面对应的Servlet中。JSP脚本元素分为三种形式,分别为JSP声明、JSP表达式、JSP Scriptlets。

(1)JSP声明,用来将方法或变量定义插入到Servlet类的主定义体中,相当于Java类中的成员变量或者方法。其语法格式为:<%! 声明语句 %>。

(2)JSP表达式,用来将数据或数据操作后的结果转换为字符串,插入到当前Servlet的输入流中,其语法格式为:<%=Java代码 %>。

(3)JSP Scriptlets,用来将Java代码插入到Servlet的_jspService方法中,其语法格式为:<% Java代码 %>。在JSP Scriptlets中可以包含多个语句,如:方法、变量、表达式等。

JSP指令元素

JSP指令元素指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。包括page指令、include指令以及taglib指令三种。

(1)page指令主要用来设定JSP页面的全局属性,该配置将作用于整个JSP页面,甚至包括静态包含的文件。其语法格式如下。

<%@ page 属性1="属性值1" 属性2="属性值2"……%>

(2)include指令用于在JSP文件中插入一个包含文本或者代码的文件。使用include指令包含文件,被包含的文件的执行结果将插入到include指令的位置。只有当被保包含的文件执行完成,该JSP文件才会恢复执行。

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

(3)taglib指令用来声明此JSP文件使用了自定义的标签,同时引用所指定的标签库以及设置标签库的前缀。其语法格式如下。

<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix"%>

JSP动作指令

页面包含操作include

<jsp:include>动作指令用来动态的包含静态和动态的文件。如果被包含的文件为静态的文件,那么只是单纯的加到JSP页面中,不会进行任何处理;如果被包含的文件为动态的文件,那么会先进行处理,然后将处理的结果加到JSP页面中。<jsp:include>动作指令的语法格式如下。

<jsp:include page="包含文件URL地址" flush="false|true">

<jsp:include>动作指令包含两个属性,page和flush。

其中page属性用来指定被包含文件的URL地址。flush属性用来指定缓冲区满时,是否进行清空。如果设置为true,那么缓冲区满时将进行清空;如果设置为false,那么缓冲区满时不会进行清空。flush属性的默认值为false。

请求转发操作forward

<jsp:forward>动作指令用来转移用户的请求,使得用户请求的页面从一个页面跳转到另一个页面。这种跳转为服务器端跳转,所以用户的地址栏不会发生任何的变化。<jsp: forward >动作指令的语法格式如下。

<jsp:forward page="跳转文件URL地址">

<jsp:include>动作指令只包含一个属性即page,page属性用来指定跳转文件的相对地址。

参数传递操作param

<jsp:param>动作指令用来传递参数,一般与<jsp:include>、<jsp:forward>作用联合使用。其语法格式如下。

<jsp:param name="参数名" value="参数值"/>

<jsp:param>动作指令包含两个属性,一个是name,用来设定传递参数的名称;一个是value,用来设定传递参数的值。

JSP主要内置对象

request请求对象

request对象用来封装客户端的请求信息,通过它才能了解到客户的需求,如客户端请求参数、请求的来源、表头、cookies等等,然后做出响应。request对象是是HttpServletRequest接口的实例。

request请求对象可以用来设置和取得request范围变量,所谓request范围,也就是说属性在一次请求范围内有效。如果页面从一个页面跳转到到另一个页面,那么该属性也就失效。这里所指的跳转是指客户端跳转,比如客户单击超链接跳转到其他页面,或者通过浏览器地址栏浏览其他网页。

如果使用服务器端跳转<jsp:forward>,该属性仍然有效。通过使用request的setAttribute()方法来设置属性,并通过request的getAttribute()方法来取得属性。

getParameter()  获得参数对应的值

response响应对象

response对象包含了响应客户请求的有关信息,它是HttpServletResponse类的实例。response对象可以用来添加cookies、添加标头、设置页面重定向等等。response对象包含的方法以及方法说明如下所示。

 技术分享

setContentType()                  void         设置文件格式

session会话对象

session对象用来表示用户的会话状况,一般用于保存用户的各种信息,知道生命周期超时或者被认为释放掉为止。session对象包含的方法以及方法说明如下所示。

 技术分享

getLastAccessedTime()     long       获得用户最后通过session发送请求时间

 技术分享

application应用服务对象

application对象用来取得和设置Servlet的相关信息。application对象的生命周期是服务器启动产生直到服务器关闭为止。application对象包含的方法以及方法说明如下所示。

 技术分享

pageContext页面上下文对象

pageContext对象可以用来设置page范围的属性,同样也可以用来设置其他范围属性,不过需要指定范围参数。所谓page范围,也就是说设置的属性只在当前页面有效。通过使用pageContext的setAttrib ute方法来设置属性,并通过pageContext的getAttribute方法来取得属性。pageContext对象包含的方法以及方法说明如下所示。

 技术分享

JSTL标签库

EL表达式

EL全名为Expression Language,它原来是JSTL1.0为了方便存取数据所定义的语言。到了JSP2.0以后,EL正式纳入成为标准规划之一。只要是支持Servlet2.4/JSP2.0的容器(服务器的另一种说法),都可以在JSP网页中直接使用EL。下面将重点EL中的运算符、与存储有关的内置对象和与输入有关的内置对象。

(1)EL运算符

例如:${1 + 1}、${1 == 1}、${true && true}

(2)与存储有关的内置对象

包含四个,分别是applicationScope、sessionScope、requestScope以及pageScope。

(3)与输入有关的内置对象

包含两个,分别是param和paramValues。

核心标签库

在JSP页面中要使用到核心标签库,必须使用<%@ taglib%>指令,指定核心标签库的前缀以及uri,代码如下。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

其中prefix为“c”,表示标签的前缀为“c”,这时就必须使用<c:XXX>这种格式。uri用来指定核心标签库规范文件地址。

 技术分享

格式化标签库

在JSP页面中要使用到格式化标签,必须使用<%@taglib%>指令,指定格式化标签,代码如下。

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

其中prefix为“fmt”,表示标签的前缀为“fmt”,这时就必须使用<fmt:XXX>这种格式。uri用来指定格式化标签库规范文件地址。

 技术分享

函数库

在JSTL1.1中新增了函数标签库,与其他标签库不同的是函数标签库主要是通过EL的Function实现的。函数标签库中的标签大部分都是用来处理字符串(fn:length可以用来取得集合对象大小)。

如果要在JSP中要使用JSTL函数标签库,必须使用<%@taglib %>指定标签的uri和前缀perfix。代码如下。

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

其中prefix为“fn”,表示标签的前缀为“fn”。uri用来指定格式化标签库规范文件地址。函数标签库的标签使用和前面介绍的几个标签库不同,其格式为${fn:标签(参数1,参数2)}

JSTL函数标签库中包含了一系列对字符串处理的函数,具体标签列表如下所示。

 技术分享

 

 

 

 

 

 

JSP个人总结

标签:

原文地址:http://www.cnblogs.com/tufujie/p/5037315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!