JSP自学笔记

原创 2002年08月17日 10:16:00

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





JSP学习笔记(一):JSP基础

一、原理 1、HttpServlet 是先由源代码编译为class 文件,然后部署到服务器下。先编译后部署。 2、JSP 是先部署源代码后编译为class文件的,先部署后编译。JSP 会在客户端第一次...
  • u012228718
  • u012228718
  • 2015年02月17日 09:32
  • 983

JSP学习笔记(一)

第一章 JavaWeb简介 1.什么是Web应用程序 什么是Web应用程序是一种通过Web访问的应用程序。Web应用程序一个最大优点就是用户很容易访问。用户只需要有浏览器即可,不需要再安装其他软件...
  • monkey_kong
  • monkey_kong
  • 2016年07月11日 13:28
  • 1517

Hibernate自学详细笔记

Hibernate详细自学笔记,初学者快来看看吧!!!!
  • wangyang1354
  • wangyang1354
  • 2015年08月31日 21:23
  • 1244

数据库学习笔记

1. PL/SQL Command Window 2. 简单的语句块 a. begin dbms_output.put_line('hellow world'); end; / ...
  • xuxurui007
  • xuxurui007
  • 2013年12月08日 23:45
  • 1388

AVR单片机学习笔记

下面是自己在学习AVR单片机时的学习经验,分享出来给大家,一起学习。 1、  AVR单片机采用RISC架构,8051单片机采用CISC架构。前者速度为后者的2~4倍,为流水线操作指令 2、...
  • yzhajlydy
  • yzhajlydy
  • 2013年05月21日 16:25
  • 2301

java自学笔记(第六天)

文章包含: 1.编译型语言,解释型语言,java语言的区别;2.JDK的下载;3.dk,jre,jvm之间的关系;4.配置java环境变量;5.文档注解;6.标识符;7.变量...
  • qq_36621510
  • qq_36621510
  • 2017年12月21日 11:25
  • 60

JSP 学习笔记

目录目录 JSP 基础语法 页码指令page 文件包含指令include 引用标签库指令taglib 代码片段 JSP 表达式 巧用注释 HTML 注释 JSP 动态注释 JSP 动作标识 包含外部文...
  • qq_28334041
  • qq_28334041
  • 2017年04月13日 09:21
  • 577

javascript基础学习笔记

编者寄言:  本文主要为编者读书笔记,在文章里面很多话是掺杂了编者自己的见解,如果有哪里出现错误或者用词不严谨,请友善留言,编者会及时去更改。 本文很多地方只是简单说了一下应该注意的地方,具体代码部分...
  • u012967849
  • u012967849
  • 2016年07月20日 14:08
  • 1905

servlet与jsp自学笔记

第一日: 一.tomcat的装好后的配置 conf/server.xml: 80" protocol="HTTP/1.1"                 connectionTimeout="200...
  • chenleicpp
  • chenleicpp
  • 2013年07月17日 23:32
  • 508

JSP完全自学手册图文教程

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]  是由Sun Microsystems公司倡导、许多公司参与一起建立的一...
  • lsj960922
  • lsj960922
  • 2018年01月11日 15:37
  • 268
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP自学笔记
举报原因:
原因补充:

(最多只允许输入30个字)