<%@ page contentType="text/html; charset=gb2312"%> JSP自学笔记
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
JSP自学笔记
     发布者: 发布时间:2006-07-19

JSP注释
<%-- comments --%>
注意<%--   --%>之间的 --%>应写为 --%\>

JSP声明
<%! 声明语句序列 %>

类和变量的说明可以在<%! %>中间声明,也可以直接声明一个方法
<%!
   public void foo(){
       out.println("the foo function");
   }
%>

JSP表达式
<%=Java表达式%>
用来直接在页面中显示该表达式的值,效果与
<%


一致

JSP程序段
<% Java代码%>
在JSP声明中被声明的变量在所有运行这个JSP程序代码的线程中有效
而在JSP程序段中被声明的变量在每次新的请求线程产生的时候都会重新创建和
重新初始化


JSP编译指令
基本格式<%@directive {attr="value"}%>
现在为止只有三种JSP编译指令include,page,taglib

include 编译指令
可以将一个外部文件嵌入到当前JSP程序中,同时解析这个文件中的JSP语句
(如果有的话)
格式:<%@include file="relativeURLSpec"%>
例:<%@include file="copyright.html"%>
如果被嵌入的文件经常改变的话,建议使用<jsp:include>操作指令

page编译指令
<%@page
   [language="Java"]
   [extends="package.class"]
   [import="package.class│package.*},…"]
   [session="true│false"]
   [buffer="none│8kb│size kb"]


   [autoFlush="true│false"]
   [isThreadSafe="true│false"]
   [info="text"]
   [errorPage="relativeURL"]

[contentType="mimeType[;charset=characterSet]"│"text/html;charset=ISO8859.1"]

   [isErrorPage="true│false"]
%>
说明:
language:声明当前JSP程序所使用的教本语言的种类
extends:标明该JSP程序编译时所产生的Java类需要继承的class或者需要实现的
      interface的全名
import:用来导入包,下面几个包时默认自动导入的,不需要显式表示
        java.lang.*;javax.servlet.*;javax.servlet.jsp*;javax.servlet.http.*
例:<%@page import="java.util.Vector"%>
session: 设定这个JSP程序是否需要HTTP session
buffer: 指定输出缓冲区的大小。输出缓冲区被JSP内部对象-Out对象(out)用于缓存
       执行的JSP程序对客户浏览器的输出,缺省值式8kb,可以设置为none,也可以
       设置为其他的值,单位为kb
autoFlush:指定如果输出缓冲区溢出时是否需要强制输出缓冲区的内容。设置为true时
       为正常。设置为false时,会在buffer溢出时产生一个Exception。


例:<%@page buffer="5kb" autoFlush="false"%>
info:设置该JSP程序的信息,也可以看作时其说明,可以通过
   servletContext.getServletInfo()方法取回
errorPage:指定错误处理程序。如果本程序产生了异常或者错误,而该JSP程序又没有相
       应的处理代码。则会自动调用该指令所指定的外部处理程序
例:<%@page errorPage="../error/errorPage.jsp"%>
isErroePage:设置本JSP程序是否为错误处理程序
contentType:用于设定传回网页的文件格式和编码样式,即MIME类型和页面字符集类型
       缺省的MIME类型是text/html;缺省的字符集为ISO-8859.1
例:<%@page contentType="text/html;charset=gb2312"%>

taglib编译指令
格式:<%@taglib uri="taglibraryURI" perfix="tagPrefix"%>
这个和xml有关,先略过

JSP操作指令
不同于JSP编译指令,JSP操作指令是在客户端请求时期动态被执行的
有以下几个:
<jsp:forward>,<jsp:param>,<jsp:include>,<jsp:plugin>,<jsp:useBean>
<jsp:setProperty>,<jsp:getProperty>

1,<jsp:forward>
作用:使得当前程序重定向别的HTML文件,或者是别的动态程序
语法形式:
   <jsp:forward page="{relativeURL│<%=expression%>}"/> (jsp1.0)
或者
   <jsp:forward page="{relativeURL│<%=expression%>}"/> (jsp1.1/1.2)
       {<jsp:param.../>}
   </jsp:forward>

page="{relativeURL│<%=expression%>}"指定目标文件的URL
<jsp:param name="parameterName" value="{parameterValue│<%=expression%>}"/>
    设置参数



例子:<jsp:forward page="/servlet/sendmail?email=grin@grin.com"/>
例子:
<jsp:forward page="/servlet/sendmail>
   <jsp:param name="email" value="grin@grin.com"/>
</jsp:forward>

2,<jsp:param>
作用:指定某个参数的值,必须和<jsp:forward>,<jsp:include>,<jsp:plugin>
       等一起协同使用

3,<jsp:include>指令
作用:在JSP程序中宝含一个静态或动态文件
语法形式:
   <jsp:include page="{relativeURL│<%=expression%>}" flush="true"/>
或者
   <jsp:include page="{relativeURL│<%=expression%>}" flush="true">
       <jsp:param name="parameterName" value="patameterValue"/>
   </jsp:include>

flush="true":指定是否将被宝含的文件的执行结果输出到客户端,在JSP1.1规范中
           flush="false"是不允许的


   <jsp:include page="scripts/login.jsp"/>
例子:
   <jsp:include page="copyright.html"/>
例子:
   <jsp:include page="/index.html"/>
例子:
   <jsp:include page="scripts/login.jsp">
       <jsp:param name="username" value="grin"/>
   </jsp:include>
4,<jsp:plugin>
作用:动态的下载服务器端的JavaBean或者Java Applet程序到客户端的浏览器上执行
如果需要的话,还要下载一个Java插件
语法形式:
   <jsp:plugin
       type="bean│applet"
       code="classFileName"
       codebase="classFileDiretoryName"
       [name="instanceName"]
       [archive="URLtoArchive"]
`       [align="bottom│top│middle│left│right"]
       [heigh="displayPixels"]
       [width="displayPixels"]
       [hspace="leftRightPixels"]
       [vspace="topBottomPiexels"]
       [jreversion="JREVersionNumber│1.2"]
       [nspluginurl="URLToPlugin"]
       [iepluginurl="URLToPlugin"]>


       [<jsp:parames>
           [jsp:param name="parameterName" value="parameterValue"/>]
       </jsp:params>]
       [<jsp:fallback>text message for user that can no see the plugin
       </jsp:fallback> ]
       </jsp:plugin>
说明:
   type指定被执行的java程序的类型
   code 指定被执行的文件名,该文件必须以".class"扩展名结尾
   codebase指定被执行文件所在的目录
   name 给该程序岂一个名字用来标志该程序
   archive指向一些要预先载入的将要使用到的类的路径
   hspace,vspace:显示时,左右,上下的留白
   jreversion  能正确运行时所需要的JRE版本,缺省值是1.2
   nsplugin,ieplugin:Netscape Navigator,Internet Exploer能使用的JRE的下载地
                       址
   <jsp:fallback>指令:用于不能显示时的说明信息

例子:和女友吃饭去了回来再打
女友回家了。我理了个头发,现在帅帅的
继续写



例子
<jsp:plugin type="applet" code="MyPlugin.class" codebase="/classes">
   <jsp:params>
       <jsp:param name="myPlugin" value="Greetings"/>
   </jsp:params>
   <jsp:fallback>
       <p>unable to load plugin</p>
   </jsp:fallback>
</jsp:plugin>
例子:
<jsp:plugin
   type="applet"
   code="clock2.class"
   codebase="/examples/jsp/plugin/applet"
   jreversion="1.2"
   width="160"
   hight="150">
   <jsp:fallback>
       plugin tag DBJECT or EMBED not supported by browser
   </jsp:fallback>
</jsp:plugin>
<jsp:useBean><jsp:setProperty><jsp:getProperty>
作用:<jsp:useBean>用来在JSP页面中实例化一个或若干个Javabean
<jsp:setProperty>用于指定Javabean的某个属性的值
<jsp:getProperty>用于输出JavaBean中某个属性的值
格式:
<jsp:useBean id="name" class="classname"
   scope="page│request│session│application" beanDetails/>
</jsp:useBean>
其中id为该JavaBean的名字class为该Bean的类名scope为该实例对象的生命周期
beanDetails:=class="className"│
           class="className" type="typeName"│
           beanName="beanName" type="typeName"│
           type="typeName"

<jsp:setProperty name="BeanName" propertyDetails/>

其中
propertyDetails:=property="*"│


                 proterty="propertyName" param="parameterName"
如果property的值为"*",这说明如果表单数据的属性名和JavaBean的属性名相同
那么JavaBean的相应属性将会被自动赋值

<jsp:getProperty name="BeanName" property="propertyName"/>

JSP自己自动的定义了9个可以直接使用而不用说明的对象
他们分别是
out,applicatin,config,exception,page,pagecontext,request
response,session

简单说明:

out:
一个Javax.servlet.jsp.JspWriter对象
主要用来向客户端输出各种格式的数据,并且管理服务器上的输出缓冲区

application
javax.servlet.ServletContext
包括在特定的应用中的被所有servlet共享的数据

config
javax.servlet.ServletConfig
该JSP的配置信息



excepltion
javax.lang.Throwable
引起该错误页被调用的错误或者异常

page
java.lang.object
当前的Java Server Page。在Java中,这和this变量一样。

pageContext
javax.servlet.jsp.PageContext
包括了JSP可能需要的对大多数对象的引用,页有类似于include和forward
的功能

request
javax.servlet.http.HttpServletRequest
关于输入请求的存储信息,包括表单变量

response
javax.servlet.http.HttpservletResponse
关于响应的信息,包括报头变量,cookies和内容类型



javax.servlet.http.HttpSession
包括与一个特定浏览器session相关的数据

具体的介绍可以看看sun的说明文档中对相应的对象和类的描述

后记:
总算是把笔记本上的东西敲完了                                                    
用一个星期的时间看了一本jsp入门书                                              
不过没有时间可以写几个程序自己试试……                                          
也没有时间参考一些自己验证该书的正确性                                          
课程,考研……                                                                  
想学的东西几乎没有时间学                                                        
sigh
————————————————————————————————

转载请注明:

紫风@紫风论坛
http://www.cnpoems.net/bbs

(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
掌握 Ajax(1-3)
详解怎样使用Axis开发Web Service的实例
学习Web 2.0的方向盘
对Gmail中使用AJAX技术的研究
使用AJAX和J2EE创建功能强大的瘦客户端
采用AJAX提高网站程序的带宽性能详解
 
最近评论:
        
Immanuel
38511adeb5447a5dbb7b2b111d186f18 http://web-cam-erotica-gratutite.iuatju.biz/ http://bullone-inox.ppdpwx.biz/ http://personal-computer-puglia.enadzh.biz/ http://finanziaria.enadzh.biz/ http://finanziamento-smaltimento-plastica.iuatju.biz/ http://guardie-mediche.ygvhik.biz/ http://percorsi-atm-milano.ppdpwx.biz/ http://ballerino-auto-it.zibtye.biz/ http://claudia-botto-gelli.iuatju.biz/ http://portale-italia-net.iuatju.biz/ 69fae163d26a9b1682339a4eb6fc4ad9
        
Kai
9d0b45b1de3977078bef674d580ef802 http://storia-giornalismo-italiano-televisivo.ppdpwx.biz/ http://biografia-di-michael-jordan.ppdpwx.biz/ http://collegato-finanziaria-2007-ici.zibtye.biz/ http://insegnamento-dell-albanese-scuola-calabria.ygvhik.biz/ http://salmi-bibbia.zibtye.biz/ http://metropolis-cinema-bassano.tzlnou.biz/ http://a-cosa-serve-l-acqua.tzlnou.biz/ http://quadro-eletrico-autorimesse.tzlnou.biz/ http://iva-monofase-phone-center.ygvhik.biz/ http://rispondi-telefono-suoneria.ygvhik.biz/ 69fae163d26a9b1682339a4eb6fc4ad9
        
Dangelo
251a28f5b184b0315d027ac6d91956c5 http://questione-sud-italia.vywyuh.org/ http://spot-barilla-pasta.gbdrme.org/ http://lingua-inglese-first-conditional.vywyuh.org/ http://nokia-servizio-clienti.cqhnnx.org/ http://diffusori-focal.vywyuh.org/ http://pubblicita-mediaset.jnbwct.org/ http://perdita-acqua-trento.vywyuh.org/ http://pensioni-a-artena.jnbwct.org/ http://last-minut-mar-rosso.pvaeyo.org/ http://dormire-a-castel-di-sangro.mnkcbe.org/ eb89aa2351bfb8dd061b0dc25061dcdb
        
Brice
d5bac4517ace350cb507337566673d19 http://altoparlanti-per-mac.pvaeyo.org/ http://guida-sicurezza-lavoro-verona.vywyuh.org/ http://top-hanover-trotto.jnbwct.org/ http://magic-giochi.jnbwct.org/ http://dizionario-medico-online.pvaeyo.org/ http://uomo-camicia-misura.jnbwct.org/ http://gribov-andrej.gbdrme.org/ http://antivirus-buono-gratis.pvaeyo.org/ http://case-d-appuntamento.gbdrme.org/ http://comune-peschiera-borromeo-it.mnkcbe.org/ eb89aa2351bfb8dd061b0dc25061dcdb
        
Adam
ca36c61326402099d725bae89c077142 ElliotWeise BommaritoChris BlaylockRoman JorgeDuhn McfarrenJosiah LeiderJared MingBo JorgeDuhn GuadalupeTorsiello ShoaffHassan 1bb5907b91a875f331998f8e4f2b0572
        
Harold
36aaed5aa3d88c6c391a65de11ad47fe AaronCeleste LouieStroope ErbCooper EnriqueGardner DustyGinn EnriqueGardner McfarrenJosiah MartinGattis NimmoMekhi BlaylockRoman 1bb5907b91a875f331998f8e4f2b0572
        
Zander
c8330cd327746e5fb4620ca585adc7e4 dei poeti estinti quilt progetto appunti storia michele belluscio smaltimento rifiuti ingombranti invio sms anonimo tim tesi filosofia comunicazione interpretazione profilattico volo pietrasanta sanzione pecuniaria iva b8fb7d84153cc5c69600cbe1497734b2
        
Sawyer
1998b38bbcc1e0055eba181558a976b7 prodotti per acne polvere sparo quark software grafica lingua italiana vibrazione doppler simona ventura it proietti roma auto nuova santa fe 24 plus volo palermo napoli ristorante gradisca cattolica coglioni doppio teste di cazzo b8fb7d84153cc5c69600cbe1497734b2
        
Giovanni
8c69cb75c92e873e64b2b3df5e3c4efb http://hotel-benessere-romagna.aezqpa.com/ http://guepiere-and-taglia-comode.uylqdg.com/ http://orologio-da-taschino.aezqpa.com/ http://arpa-spa.jvzulp.in/ http://scomparsa-dinosauri.licoxi.in/ http://ingrosso-abito-usato.kmyeyh.com/ http://poesia-d-amore-dediche-d-amore.kmyeyh.com/ http://indirizzo-email-privato.jnesky.in/ http://disegno-cucina-stampare-on-line.bkqryo.com/ http://milano-mercatini.fzhoas.in/ b8a12f78e2ab8d9c8e5e94f78e975725
        
Alonzo
ec27998075c9833dda5c2053efc23ab8 http://mercatino-musicale.aoknmm.in/ http://13dici-a-tavola.qeshtw.in/ http://vescicolare-suino.iznvge.in/ http://dam-chhoi-lama.bkqryo.com/ http://it-www-bybank-it.uylqdg.com/ http://battaglione-alpino-tolmezzo.iznvge.in/ http://mar-rosso-alberghi.bkqryo.com/ http://suppletiva-clientela.jnesky.in/ http://stampanti-sublimazione.kmyeyh.com/ http://terme-toscana-campania.jvzulp.in/ b8a12f78e2ab8d9c8e5e94f78e975725
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号