博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

jsp 第一课

Posted on 2009-03-02 10:16  kalllx  阅读(214)  评论(0)    收藏  举报

04 06 2008
java server page
servlet:
java代码中嵌入html代码

jsp:
html代码中嵌入java代码
美工人员开发.html .htm   
java开发人员将.html页面转换成.jsp,并且将里面的静态内容变成动态内容。
    
xxxx.jsp就是一个web组件
什么是jsp?
1.jsp是sun制定的j2ee中的其中一个规范
2.jsp在开发的时候就是一个以.jsp为结尾的文件,它是一个组件(可重用,可插版)     
3.jsp运行的时候就是一个servlet ,运行时实际上jsp文件需要被jsp引擎(web容器自带)转换成servlet运行      
     
jap文件中可以出现的内容:
1.静态内容:
 html,xml,text,css,js
2.动态内容:
 jsp元素,java代码,标签(tag)

jsp文件放在应用的根目录下
 WEB-INF
  
jsp的生命周期:
1)翻译阶段:
 由jsp引擎将一个.jsp文件翻译成一个.java文件(servlet源文件)
2)编译阶段:
 将翻译后的.java文件编译成.class文件
3)装载和实例化阶段
 由web容器转载.class文件,并且实例化一个servlet对象
4)执行阶段
 客户端发起一个请求,由web容器调用servlet对象,处理请求

第一次访问和修改的时候都要经过所有的阶段,
第一次访问结束之后 之经过执行阶段 
重启服务器之后访问 要经过 转载和实例化阶段-->执行阶段

jsp被翻译成servlet之后需要实现一个接口 javax.servlet.jsp .HttpJspPage

三个生命周期回调方法

jspDestroy()
jspInit()
_jspService(...)

jsp基本语法:
1)指令元素(Directives)
例: <%@dirrctivaName attrName="attrValue"%>

page指令:指令jsp页面的一些属性说明 写法:<%@page import=".." contentType=".."%>
include指令:包含其他页面内容(静态包含) <%@include file=""%>(在翻译阶段包含进来)
 相对路径;
 根据当前页面路径和被包含页面的路径进行计算
 绝对路径
 以“/”开始,后跟页面的路径
taglib指令:导入标签库 <%@taglib uri="" prefix=""%>
导入标签的目的(作用):在jsp页面中消除java代码

2)脚本元素(Scriplets):目的:嵌入java代码
 a)声明(Declarations)
 语法:<%! .. %>  作用:声明一些变量,方法内部类等等

 b)表达式(Expressions) :使用表达式不加分号
 语法:<%= .. %>  作用:输出数据到客户端

 c)脚本(Scripiets)  结束加分号
 语法:<% .. %>  作用:在jsp 的_jspService方法中嵌入java代码

3)动作元素(Actions)--->jsp自带的标签
 语法:<jsp:tagName attrName="attrValue"></jsp:tagName>
a)include标签==>封装了请求转发器的include方法的功能
包含其他页面(动态包含)
 语法:<jsp:include page="" flush=""/>
b)forward标签==>封装了请求转发器的forward方法的功能
 语法:<jsp:forward page="" />
c)useBean标签

d)SetPropety标签

e)getPropety标签

f)Param标签
 将参数设定到request对象中,一般都是作为其他标签的子标签。
 语法:<jsp:param name="" value=""/>


include指令和include动作元素的比较
1)include指令包含页面是在翻译的时候进行的,而include动作元素则在运行时进行
2)如果被包含的页面内容发生变化,那麽通过include指令进行包含的页面需要重新翻译,而通过include动作元素进行包含的页面无需重新进行翻译

 

jsp:中的注释:
1)java注释  在脚本中可以使用

2)xml/html
<!--  -->

3)隐藏注释
<%--  --%> 可以注释jsp中的动态页面
   servlet源文件   页面源文件 浏览器

java注释      出现     不出现 不出现

xml/html注释      出现       出现 不出现    

隐藏注释     不出现     不出现 不出现  

jsp中的错误调式
1)jsp语法错误
.java .class 文件不产生
2)java语法错误
.java产生  .class不产生
3)运行时异常
.java文件产生 .class文件也产生  通过浏览器上异常抛出的点来确定错误产生的位置.