`
lxdyycg
  • 浏览: 22651 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

j2ee学习总结之jsp

    博客分类:
  • j2ee
阅读更多
******JSP生命周期
1.翻译 .jsp --> .java
2.编译 .java --> .class
3.加载类
4.实例化类
5._jspInit()
6._jspService()
7._jspDestroy()

******JSP的预定义变量
1.application javax.servlet.ServletContext
2.session javax.servlet.http.HttpSession
3.request javax.servlet.http.HttpServletRequest
4.pageContext javax.servlet.jsp.PageContext
5.response javax.servlet.http.HttpServletResponse
6.page java.lang.Object
7.config javax.servlet.ServletConfig
8.out javax.servlet.jsp.JspWriter
9.exception java.lang.Throwable

******JSP中的错误:
1.翻译时错误 JSP页面错误
2.编译时错误(空指针异常等) Java语法错误
3.运行时错误 逻辑错误

******JSP元素的分类
1.HTML元素

2.JSP的脚本元素:
1>JSP Scriptlet
<% javacode %> 翻译为 _jspService方法中的代码

2>JSP表达式
<%= expression %> 翻译为 _jspService方法中的out.write(expression);

3>JSP声明
<%! declaration %> 翻译为 类的实例变量和方法

4>JSP注释
<%-- comment --%> 单行注释(翻译时忽略)
<% /*comment*/ %> 多行注释(翻译时包含,编译时忽略)
<%!-- comment --> 单行html注释(包含在响应中)

5>JSP指令
<%@ derective %>
i.page指令
language 指明页面的脚本语言,当前只有java;
extends 指定JSP页面生成的Java类的超类;
import
--导入此JSP页面生成的java类应包含的包;
--page指令中唯一一个可以出现多次的属性;
--当需要导入多个包的时候使用逗号连接;
contentType 定义输出的MIME类型;
pageEncoding 告诉web server,当前JSP文件本身的编码方式;
buffer 定义输出流(JspWriter)使用的缓冲区大小(默认是8kb);
autoFlush 定义缓冲区满后是否自动清空;
session 指定当前JSP是否参与session会话;
errorPage 指定当前页面出现异常的时候按照errorPage指定的参数来处理;
isErrorPage 指定当前页面是异常的处理页面;

ii.include指令
<%@ include file="url" %>
--url为相对路径;
--静态包含,只生成一个class文件,不能带参数;
iii.taglib指令


3.JSP标准动作标签(两种形式自结束和成对出现):
1><jsp:forward page="url" />
--以“/”开始的时候,表示http://localhost:8080/Context Root/;
--不是以“/”开始的时候,表示以当前文件作为相对路径;

2><jsp:include page="url" />
--url与forward中的一样;
--动态包含,生成两个class文件,可以使用<jsp:param .../>来传递参数;
--将指定的web资源的输出包含在当前的响应输出中;

3><jsp:param name="..." value="..." />
--通常作为子元素和include和forward联和使用;
--<jsp:include page="url"><jsp:param name="..." value="..."></jsp:include>
--<jsp:forward page="url"><jsp:param name="..." value="..."></jsp:forward>

4><jsp:useBean id="id_name" scope="..." class="..." />
--在request中通过getAttribute("id_name")来获取该对象,如果没有则新创建一个,有的话就不会重新创建了,而是利用从参数中取到的对象;
--scope指定了该对象有效的范围(page、request、session、application),page是默认的;
5><jsp:getProperty name="对象名" property="属性名" />
--等效于<%=对象名.属性名 %>

6><jsp:setProperty name="对象名" property="属性名" value="属性值" />
--等效于<%=对象名.set....(属性值) %>
i.将请求中的参数赋值给对象的单个属性:
--<jsp:setProperty name="对象名" property="属性名" param="参数名" />

ii.当单个的属性名和参数名相同的时候
--<jsp:setProperty name="对象名" property="属性名" />

iii.当所有的属性名和参数名相同的时候
--<jsp:setProperty name="对象名" property="*" />

4.EL(Expression Language)
--是JSP中一种简洁的数据访问语言
--通过它可以在JSP页面中方便地访问并输出:存储在作用域中的对象及其属性;访问请求中的参数、cookie和其他请求报文中的信息;
--可以进行算数、关系、逻辑等运算;
--语法格式${expression}
--EL中的隐式对象:
pageContext
pageScope
requestScope
sessionScope
applicationScope
param
paramValues
header
headerValues
cookie

5.自定义标签(自己编写的非标准动作标签)
--替代jsp页面中出现的java代码;
--JSP引擎在翻译自定义标签的时候,会根据jsp指令taglib所导入的tld文件中对应关系找到相应的类文件来执行(该类文件需要自己编写);
--自定义标签的格式:
1>格式一:
<prefix:name [attribute="value" [...]]>
body
</prefix:name>
2>格式二:
<prefix:name [attribute="value" [...]] />
--自定义标签的创建过程:
1>创建后台处理类
--继承javax.servlet.jsp.tagext.TagSupport类
--覆盖父类中的方法doStartTag()
2>创建标记库描述符文件tld
--在web应用下创建一个tld文件;
--在tld文件进行配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd" >
<taglib>
<tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
<short-name>short-name</short-name>  <!-- 指定标签库默认的前缀名 -->
<tag>
<name>cookiename</name>
<tag-class>tags.LoginTag</tag-class> 
</tag>
</taglib>

3>在jsp页面中引入:
<%@ taglib uri="/..." prefix="自定义标签名"%>
--uri中的"/"表示http://localhost:8080/web应用名/

4>在jsp中直接使用

6.JSTL(JSP Standard Tag Library)(待补充)
1>主要标记库:
核心标签库 包含循环、表达式赋值、基本输入输出
国际化标签库 格式化显示数据
数据库标签库 访问数据库
XML标签库 访问XML文件
函数标签库 读取已经定义好的某个函数
2>核心标签库:
i.set标签(在作用域中保存一个变量)
<c:set var="varName" value="value" [scope="page|request|session|application"] />
      或
<c:set var="varName" [scope="page|request|session|application"]>
value in body
</c:set>

ii.if标签
<c:if test="expression" var="varName" [scope="page|request|session|application"]>
body execute if the test expression is true
</c:if>
--varName中存放当前expression中的值;

iii.forEach标签
<c:forEach items="collection" [var="varName"] [begin="begin"] [end="end"] [step="step"]>
body
</c:forEach>
分享到:
评论

相关推荐

    J2EE,servlet,jsp等课件

    本课件是我们学习j2ee时用的教学课件,非常详细地总结了j2ee的servlet,jsp,jdbc,jndi,XML等,总共有十四讲,适合于对j2ee有初步了解的人参考

    J2EE软件工程师全部培训课程总结(205页)

    J2EE软件工程师全部培训课程总结几乎包括了JAVA程序员和JAVA软件工程师要掌握JAVA核心技术的全部内容,内容包括:UML、ORALCE、JDBC、JSP、AJAX、SERVLET、JavaScript、Struts、JSF、Hibernate3.0、Spring、JMS、CVS、...

    J2EE(Java EE)技术总结-J2EE学习精华教程-电子书

    本书内容非常全面,涵盖了多册J2EE书籍所有知识要点,并结合作者自己经验总结而编写,内容相当丰富 众所周知,一般书籍为了销售需要,往往很少的知识点,却需要添加大量的废话、例子,以增加书本厚度,使得阅读者...

    J2EE知识总结(理论知识)

    我自己参加的Java实训,以下是我的实习期间理论知识的总结,包含HTML,JSP,Tomcat,servlet,Struts,Hibernate等知识,内容很全,拿来和大家分享,pdf打开密码是12。如需进一步学习交流请加我QQ:504700869,加我...

    J2EE学习笔记

    J2EE学习笔录 2 第一章:JAVA的输入输出流 2 1.1:概述: 2 1.2:主要输入输出类 3 1.3例程 建立聊天室: 5 第二章:JAVA设计模式 18 2.1:创建型设计模式 19 2.2:结构型设计模式 32 2.3:行为型设计模式 83 第三章:...

    J2EE相关技术知识学习笔记

    J2EE相关技术知识点经典总结,外加学习笔记,重点突出,清楚明白。

    J2EE的EJB实践总结包

    EJB实践的服务器是用SUN的服务器,也有用weblogic的一些例子。包里还包括EJB调用EJB、连接数据库、命令行布署EJB等总结。另外,还包括对Jasmine购物系统的分析及总结。是学习EJB很好的总结。

    J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发

    本书所介绍的内容是作者多年J2EE开发经验的总结,内容涉及Struts、 Hibernate和Spring三个开源框架,还介绍了Tomcat和Jetty两个开源Web服务器的详细用法,以及J2EE应用的几种常用架构。 本书不仅是一本J2EE入门图书...

    j2ee应用服务器和web服务器解析.docx

    j2ee应用服务器和web服务器解析 j2ee应用服务器和web服务器解析 Tomcat服务器是一个免费的开放源代码的Web应用服务器。因为Tomcat技术先进、性能稳定且免费,所以深受Java爱好者的喜爱并得到了部分软件开发商的认可...

    FCKeditor2.4在J2EE中的使用

    最近想学习FCKeditor,在网上搜索了好久,资料不少,但就是跑不起来,因为我用的是2.4版本的,不是说的版本不对配置啰嗦就是根本包结构都不一样,无奈之下只好在官网上download了个demo跑了下好使,不过一看这demo不是J2EE...

    SCWCD学习笔记(Head First Servlets & JSP)

    自己总结的SCWCD学习笔记 内容包括网上的《SCWCD Exam Study Kit》和纸版的《Head First Servlets & JSP》 对于想系统了解J2EE的人也很有帮助

    基于J2EE架构的在线考试系统(源代码+论文+开题报告+外文翻译+英文文献+答辩PPT).zip

    最后,对J2EE技术做了一个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。 关键词:J2EE,在线考试系统,b/s,JavaBean,jsp,数据池 1 引言 现阶段,学校与社会上的各种考试大都采用传统的考试方式,在...

    JSP针对XML文件操作技巧实例分析

    而这篇教程为什么把它放在J2EE下边呢,因为他也是J2EE的13规范之一,虽然XML是W3C万维网组织联盟指定的,并做了规范,所以说也是一种规范,我们也必须按照规范来,和JDBC,Servlet,Jsp,Ejb等一样的。 前边的文章...

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.3 Java事务处理总结 1.4 JavaBean中使用JDBC方式进行事务处理 1.5 JSP 隐式对象简介 1.6 Java解析XML的四种方法 1.7 struts1和truts2比较 1.8 Tomcat5启动流程与配置详解 1.9 HttpServlet详解 1.10 Ant使用...

    Java综合技能知识库

    包含 Java面向对象、Java基础类库、JDBC数据库访问、Web编程Jsp&Servlet、Hibernate持久层、iBatis持久层、Structs界面控制层、JSF界面控制层、Spring应用框架、Ejb、WebService技术、J2EE模式等其他Java相关开发...

    JavaEE5学习笔记11-JSF转换器验证器使用经验总结

    JavaEE5学习笔记11-JSF转换器验证器使用经验总结。

    JavaEE5学习笔记07-Web层与EJB集成总结

    JavaEE5学习笔记07-Web层与EJB集成总结。

    Struts原理、开发及项目实施

    J2EE体系包括JSP、Servlet、EJB、WEB SERVICE等多项技术。这些技术的出现给电子商务时代的WEB应用开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程...

    电子商城系统设计实习报告.doc

    18 7.2.1 数据表结构详细设计 18 7.2.2 数据库表之间的关系设计 19 8 程序效果展示 20 8.1 前台功能模块 20 8.2 后台功能模块 22 9 实习总结体会 27 实习内容简述 1 实习期间完成的学习内容: 1 Java Web、JSP技术和...

    基于JavaWeb + Mysql + Layui实现的宿舍管理系统源码+数据库+演示截图+项目说明.zip

    【资源说明】 基于JavaWeb + Mysql + Layui实现的宿舍管理系统源码+数据库+演示截图+项目说明.zip 1、该资源内项目代码都是经过测试运行成功,...&gt; 总结:jsp用于作页面展示,ajax用于异步刷新,java处理具体业务逻辑

Global site tag (gtag.js) - Google Analytics