JSP基本使用语法.docx

上传人:b****6 文档编号:12374637 上传时间:2023-06-05 格式:DOCX 页数:51 大小:40.03KB
下载 相关 举报
JSP基本使用语法.docx_第1页
第1页 / 共51页
JSP基本使用语法.docx_第2页
第2页 / 共51页
JSP基本使用语法.docx_第3页
第3页 / 共51页
JSP基本使用语法.docx_第4页
第4页 / 共51页
JSP基本使用语法.docx_第5页
第5页 / 共51页
JSP基本使用语法.docx_第6页
第6页 / 共51页
JSP基本使用语法.docx_第7页
第7页 / 共51页
JSP基本使用语法.docx_第8页
第8页 / 共51页
JSP基本使用语法.docx_第9页
第9页 / 共51页
JSP基本使用语法.docx_第10页
第10页 / 共51页
JSP基本使用语法.docx_第11页
第11页 / 共51页
JSP基本使用语法.docx_第12页
第12页 / 共51页
JSP基本使用语法.docx_第13页
第13页 / 共51页
JSP基本使用语法.docx_第14页
第14页 / 共51页
JSP基本使用语法.docx_第15页
第15页 / 共51页
JSP基本使用语法.docx_第16页
第16页 / 共51页
JSP基本使用语法.docx_第17页
第17页 / 共51页
JSP基本使用语法.docx_第18页
第18页 / 共51页
JSP基本使用语法.docx_第19页
第19页 / 共51页
JSP基本使用语法.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JSP基本使用语法.docx

《JSP基本使用语法.docx》由会员分享,可在线阅读,更多相关《JSP基本使用语法.docx(51页珍藏版)》请在冰点文库上搜索。

JSP基本使用语法.docx

JSP基本使用语法

JSP简明参考

JSP概论,介绍

JSP历史

JSP简介:

JSP:

JavaServerPages,JSP1.2,JSP2.0

JSP和servlet的历史:

首先出现的servlet,处理前后台,servlet处理前台功能代码过多,页面人员无法参与开发,开发周期很长,维护效率太低。

jsp出现,前后台都用jsp开发,代码不能重复用(不能import)

jsp和serlvet分别处理前后台

 

JSP四大特点:

1.指令元素,一般都是在一个html或者jsp文件的开始定义,分为页面指令page,包含指令include,标签指令taglib。

2.动作元素,jsp专用的标签元素

3.脚本元素,手动写入j2se代码

局部表达式<%%>只有在此局部定义以后的代码才能访问

全局表达式<%!

%>当前jsp页面上下都可以访问

显示表达式<%=%>类似j2se里面的相当于局部变量的out.println("直接的打印");

4.JSP中的9大对象。

JSP核心语法

注释:

HTML/XML注释:

--comment[<%=expression%>]-->

内部允许使用表达式.客户端的HTML代码会产生相同的注释代码.

隐藏的注释(JSP中,但不发送到客户端.

<%--comment--%>

jsp编译时会忽略这部分注释.

Scriptlets注释:

同Java注释.(本身就是在Java代码中.)

注意:

--HTML注释方式,HTML的注释在客户端是可以看见的,并且也不能屏蔽jsp标签。

-->

<%--JSP注释方式JSP的注释是不会在客户端页面显示出来的,并且还可以能屏蔽jsp和html代码--%>

jsp自身的注释优先级是最高的(尽可能使用此注释方式)

指令元素

在整个JSP文件中有效,设置全局变量,声明类,要实现的方法和输出内容的类型等.并不向客户产生任何输出.

<%@directivenameattribute=”aa”attribute=”bb”%>

例如:

<%@pagelanguage=“java”pageEncoding=”gb2312”%>

指令元素---page页面指令1

directivename就是page.

一个jsp页面中包含的多个页面指令被抽出来叠加应用制一个页面上.除了import外,其他页面指令只能出现最多一次.

使用方法:

<%@pageattribute=“value”…%>

其中attribue和其可选值:

(属性可以单独使用,也可以同时使用几个).

Attribute(属性)

Attribute(属性)意义

可选Value

Value的默认值

language

指使用的脚本语言

Java

Java

import

用,隔开,表示引入类

session

http会话中是否包含此页面

true/false

true

buffer

对客户端输出流的缓冲,none表示无,否则以不小于指定的数值缓冲.

none/具体的缓冲值

不小于8kb

autoFlush

true表示缓冲区满时,刷新客户端,false则出现运行异常

true/false

true

info

对jsp页面的信息备注

isErrorPage

表明是否为其他页面的error目标,true时可以使用exception对象.

true/false

false

errorPage

有异常时指向的页面

isThreadSafe

是否能多线程的使用,true表示允许一个JSP同时处理多个用户的请求.

true/false

true

contentType

字符编码和MIME类型

text/html;charset=iso-8859-1

pageEncoding

JSP页面的字符编码

pageEncoding=”ISO-8859-1”

isELIgnored

指定EL(表达式语言)是否被忽略

true/false

true

指令元素---include包含指令1

<%@includefile=”fileURL”%>

包含的文件在编译期间被解析.

如果路径以/开头表示参照应用,否则参照该jsp页面本身.

指令元素---taglib标签指令1

<%@tagliburi=“标签tld路径”prefix=“前缀”%>

JSP2.0新增了JSTL标签库.

JSF

前缀不能使用:

jsp,jspx,java,javax,sun,servlet,sunw.

脚本

脚本元素---声明2

定义变量或者方法(对应与产生的类的属性和方法.)

<%!

Stringnow(){

returnnewjava.util.Date().toString();

}

%>

<%!

Stringmyname=”AiSee”;

%>

脚本元素---表达式2

<%=expression%>

将被转换为字符串(如果是对象,则使用对象的toString()方法).

脚本元素---Scriptlet2

<%

//JavaScriptlet

%>

Scriptlet被包含在编译后的Servlet的Service方法中,

多个Scriptlet按照出现的顺序执行,可以合并为一个Scriptlet.

一个Scriptlet可以使用它前面的Scriptlet定义的变量.

动作元素

动作元素在请求处理阶段起作用,使用XML语法写出.

tagattribute=value…./>

或者匹对标签

tagattribute=value>

……

tagattribute=value>

标准的动作元素有:

useBean>,

setProperty>,

getProperty>,

param>,

params>,

include>,

forward>,

plugin>,

fallback>,

attribute>,

body>,

invoke>,

doBody>,

element>,

text>,

output>,

root>,

declaration>,

scriptlet>,

expression>

动作元素中目前还有可能使用的是:

param>,

include>,

forward>

setProperty>,

getProperty>,

useBean>

注意:

jsp动作元素严格匹配单双标签,所以,当使用单标签的时候,记得斜线收回标签,否则会报错

动作元素---

param>1

提供”名---值”对,和jsp:

include,jsp:

forward,jsp:

plugin一起使用.

paramname=”paraName”value=”paramValue”/>

例如:

paramname="username"value="thinkmore"/>

注意:

此标签必须嵌套使用,不能单独使用

动作元素---

include>2

允许在请求时间内在现成的JSP里面包含静态或者动态资源.被包含的对象只有对JspWriter对象有访问权,并且不能设置头或者Cookie.

如果页面是缓冲的,那么缓冲区的刷新要优于包含的刷新,语法:

includepage=”filename”flush=”true”/>

或者(同时传人参数):

includepage=”filename”flush=”true”>

paramname=”paraName”value=”paraValue”/>

......

include>

例如:

includepage="action2.jsp"flush="true">

paramname="username"value="thinkmore"/>

include>

动作元素---

forward>1

停止执行当前的JSP,转发请求到另一个JSP,Servlet或者静态资源文件,要求资源必须位于和本JSP相同的上下文环境中.

forwardpage=”uri”/>

或者(同时传人参数):

includepage=”uri”>

paramname=”paraName”value=”paraValue”/>

include>

例如:

forwardpage="action2.jsp?

username=thinkmore"/>

转发和转向都会继续执行当前页的下面的代码,但是此标签不会执行下面的代码,此标签内核机制相当于转发

动作元素---

setProperty>1

和useBean一起使用,用于设置Bean的属性.

setPropertyname=”beanName”propertyDetails/>

其中name指jsp:

useBean的id,propertyDetails可选形式:

property=“*“

property=“propertyName“

property=“propertyName“para=”paraName”

property=“propertyName“value=”propertyValue”

property=“*”Bean的属性名,类型和request对象中的参数匹配,由于表单传过来的都是String,则JSP会把这些参数转换为Bean中对应的值.

request中的空值或者request没有相应属性,则在Bean属性中不会设置值.

property=“propertyName“指定设置某个参数的值,指定了Bean的属性名,而且属性名与request参数的名字相同,.Request中有空值,则不会设置任何值.

property=“propertyName“para=”paraName”指定的参数设置指定的属性.

property=“propertyName“value=”propertyValue”指定的值可以是字符串,也可以是表达式(需要类型匹配),用于设置指定属性的值.

注意:

此标签要和

useBean>标签结合使用,单独不能使用,

jsp:

getProperty使用方式:

在userbean标签之中使用,获取一个对象的属性值,id属性是对象的名字,property是对象属性的名字

动作元素---

getProperty>1

显示bean的属性到网页上.

getPropertyname=”beanName”property=“propertyName“/>

指定获取指定Bean的指定属性,属性不能是被索引了的.

注意:

此标签要和

useBean>标签结合使用,单独不能使用,

jsp:

setProperty使用方式:

在userbean标签之中使用,设置一个对象的属性值,id属性是对象的名字,property是对象属性的名字,value是设置对象属性的值

动作元素---

useBean>12

useBeanid=”beanName”scope=”scopeWhere”typedesc/>

首先试图定位一个Bean实例,如果这个Bean不存在,将会从一个class或者模板中进行实例化.

其中,scope表示存在的范围:

page,request,session,application

typedesc可选形式:

1.class=”className”:

要求类路径和类名,需要public的空参数构造函数的非抽象类,

2.beanName=”beanName”type=”typeName”:

使用instance方法从一个class中实例化一个Bean,同时指定Bean的类型.Type=”typeName”type是一个类或者接口,如果没有使用class或者beanName指定type,Bean将不能实例化.

例如:

useBeanid="ob"class="tm.OneBean"scope="request">

setPropertyname="ob"property="username"value="think"/>

getPropertyname="ob"property="username"/>

useBean>

注意:

jsp:

useBean使用方式:

id属性是定义新创建对象的名字,并且设置在scope范围中,以id为key值,class是此类的包名加类名,scope是此对象存放的范围。

上面的例子相当于下面的J2SE代码:

OneBeanonebean=newOneBean();

request.setAttribute("onebean",onebean);

onebean.setUsername("think");

onebean.getUsername();

动作元素---

plugin>2

用来产生客户端浏览器的特别标签(Object或者Embed),可以使用它来插入Applet或者JavaBean.

用于HTML4.0,用于HTML3.2.

语法:

plugintype=”applet|bean”code=”classFileName”codeBase=”classFileDirectoryName”

[name=”instanceName”]

[archive=”URIToArchive,…“]

[align=”bottom|top|middle|left|right”]

[height=”howMantPixels”]

[width=”howMantPixels”]

[hspace=”howMantPixels”]

[vspace=”howMantPixels”]

[jreversion=”JREVersionNumber|1.1”]

[nspluginurl=”URLToPlugin”]

[iepluginurl=”URLToPlugin”]

[

params>

[

paramname=”parameterName”value=”{parameterValue|<%=expression%>}”/>]+

params>

]

[

fallback>textmessageforuser

fallback>]

plugin>

属性/子元素

描述

默认值

type

beanapplet之一

code

Java类文件的名称,需要包括扩展名.class

codeBase

Java类的根目录

JSP文件的当前路径

name

Bean或者Applet的实例名称,则同一个JSP中可以调用.

archive

逗号隔开的路径名列表,那些用于codebase指定的目录下的类装载器预装载的存档文件所在的路径名.

align

对齐方式bottom|top|middle|left|right

height,width

显示的高,宽(单位为像素)

hspace,vspace

左右上下留出的空间

jreversion

所需的JavaRuntimeEnvironment(JRE)版本.

1.1

nspluginurl

NetscapeNavigator能使用的JRE下载地址

iepluginurl

InternetExplorer用户能够使用的JRE下载地址:

如http:

//

jsp:

params

需要传人的参数

jsp:

fallback

Java插件不能启动是显示给用户的一段文字

动作元素---

fallback>

plugin>的一部分,见上面的描述.

JSP内建的对象

9个对象的简介

在J2EE开发中,最主要使用的是两个开发包:

1.javax.servlet包

2.javax.servlet.http包

这两个包在web开发中占据了大部分的使用

javax.servlet包是J2EE中web开发原型包

javax.servlet.http包是J2EE中web开发针对http协议开发的包

jsp中的9大对象原类型,都来自于javax.servlet.http包

标示为*号的对象是开发中比较常用的对象

*application:

容器(web服务器)对象,它可以得到容器中的内容

Config:

项目配置参数(目前被servlet配置所代替)

Exception:

jsp中的异常对象

 

*out:

页面内容输入对象

Page:

页面对象,最主要是_jspService方法,此方法由容器自动调用

pageContext:

页面上下文(当前页面的内容)

*request:

请求对象,由用户发起(目前B/S项目开发的重点)

*response:

响应对象,用户请求被服务器接收以后,就会产生此对象

*session:

请求对象和响应对象的连接池

存储数据:

pageContext,request,session,application

(对象范围从小到大)

在页面中,一个request和response会产生一个唯一的session

request-------session-------response

(request由用户产生,不同的用户产生的对象也就不同)

下面是9个对象在J2EEAPI中的的原型:

request:

javax.servlet.http.HttpServletRequest

response:

javax.servlet.http.HttpServletResponse

session:

javax.servlet.http.HttpSession

application:

javax.servlet.ServletContext

config:

javax.servlet.ServletConfig

out:

javax.servlet.jsp.JspWriter

page:

javax.servlet.jsp.HttpJspPage

pageContext:

javax.servlet.jsp.PageContext

exception:

java.lang.Exception

request对象是9大对象中,最重要的开发对象

9个对象只能存在于page对象的_jspService方法中,也就是只能在局部脚本中操作9个对象,所以说9个对象是由web服务器调用page对象的_jspService方法创建的

application

application随着服务器启动而创建,直到关闭服务器.

整个应用的共享对象.主要作用在于取得或更改Servlet的设定.

封装了接口javax.servlet.ServletContext.

1.ObjectgetAttribute(Stringname);

返回由name指定的application属性。

2.EnumerationgetAttributeNames();

返回application所有属性的名字。

3.ServletContextgetContext(Stringuripath);

取得当前应用的ServletContext对象。

4.StringgetInitParameter(Stringname);

返回由name指定的application属性的初始值。

5.EnumerationgetInitParameters();

返回所有的application属性的初始值的集合。

6.intgetMajorVersion();

返回servlet容器支持的最高ServletAPI的版本号。

7.StringgetMimeType(Stringfile);

返回指定文件的类型,未知类型返回null。

一般为"text/html"和"image/gif"。

8.intgetMinorVersion();

返回servlet容器支持的最低ServletAPI的副版本号。

9.StringgetRealPath(Stringpath);

返回给定虚拟路径所对应物理路径。

10.RequestDispatchergetNamedDispatcher(Stringname);

为指定名字的Servlet对象返回一个RequestDispatcher对象的实例。

11.RequestDispatchergetRequestDispatcher(Stringpath);

返回一个RequestDispatcher对象的实例。

12.URLgetResource(Stringpath);

返回指定的资源路径对应的一个URL对象实例,参数要以"/"开头。

13.InputStreamgetResourceAsStream(Stringpath);

返回一个由path指定位置的资源的InputStream对象实例。

14.SetgetResourcePaths(Stringpath);

返回存储在web-app中所有资源路径的集合。

15.StringgetServerInfo();

取得应用服务器当前servlet编译器的版本信息。

16.ServletgetServlet(Stringname);

在ServletContext中检索指定名称的servlet。

17.EnumerationgetServlets();

返回ServletContext中所有servlet的集合。

18.StringgetServletContextName();

返回本web应用的名称。

19.EnumerationgetServletContextNames();

返回Se

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2