`
lxdyycg
  • 浏览: 23343 次
  • 性别: 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学习笔记(J2ee初学者必备手册)

    **J2EE学习笔记概述** J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级分布式应用程序的框架。它为开发者提供了丰富的功能,包括Web服务、事务处理、安全控制以及数据库连接等,使得...

    韩顺平.j2ee视频实战教程jsp迅雷下载地址.txt

    根据提供的文件信息,我们可以得知这是一系列关于J2EE(Java 2 Platform, Enterprise Edition)的视频实战教程,由韩顺平老师授课,主要聚焦于JSP(JavaServer Pages)技术。下面将对这些视频教程涉及的重要知识点...

    不错的j2ee学习资料

    【标题】"不错的J2EE学习资料"指出这是一份关于J2EE技术的学习资源集合。J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台的一个版本,专为构建企业级分布式应用程序而设计。它包含了多种服务、API和...

    J2EE学习过程和学习方法总结

    在本文中,我们将深入探讨J2EE学习过程和学习方法,这是一个对于任何希望在企业级Java开发领域有所建树的开发者至关重要的主题。J2EE(Java 2 Platform, Enterprise Edition)是一种由Oracle公司维护的开放标准,...

    j2ee模拟银行系统JSP

    总结来说,"j2ee模拟银行系统JSP"是一个综合性的学习项目,涵盖了Web开发中重要的技术栈,包括前端展示、后端数据管理和异步交互,旨在提升开发者对J2EE平台的理解和实践能力。通过完成这个项目,学生不仅能够深入...

    j2ee学习经验和流程

    ### J2EE学习经验和流程 在IT领域,Java平台一直占据着重要的位置,而Java 2 Platform, Enterprise Edition(简称J2EE)则是用于开发可移植、健壮、可伸缩且安全的多层Web应用的企业级解决方案。本文将根据提供的...

    J2EE网上订餐系统(JSP+Servlet+mysql)

    总结来说,"J2EE网上订餐系统(JSP+Servlet+mysql)"是一个基础的Java Web项目,它以核心的J2EE组件为基础,展示了如何构建一个实际的在线服务。对于初学者,这是一个极好的起点,可以从中学习到Web开发的基本流程和...

    J2EE学习资料(EJB、Servle、Jsp)

    这些PPT文件构成了一个完整的J2EE学习资源库,涵盖了从基础的Servlet和JSP编程,到高级的EJB和JPA使用,再到特定的Cookie管理。通过深入学习和实践这些内容,开发者可以建立起坚实的企业级Java应用开发基础。

    j2ee学习笔记

    总结来说,J2EE学习笔记涵盖了从Web开发基础到企业级服务的广泛内容,包括JSP、Servlet、EJB等技术,以及与之配合使用的Oracle数据库。深入理解和掌握这些知识点,对于成为一位专业的Java企业级应用开发者至关重要。

    j2ee.rar_J2EE系统_j2ee 系统_j2ee.jsp

    总结起来,J2EE是一个强大的企业级开发平台,提供了丰富的组件和服务,用于构建可伸缩、安全且易于维护的Web应用。它通过组件模型和标准API,使得开发者能够构建复杂的分布式系统,同时保持代码的整洁和模块化。对于...

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

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

    一些j2ee学习资料

    根据提供的信息,我们可以总结出以下关于J2EE学习资料的关键知识点: ### 一、J2EE简介 J2EE(Java 2 Platform, Enterprise Edition)是Sun Microsystems为满足企业级应用开发需求而提出的一种标准技术平台。它...

    J2EE学习笔记 对学习非常有帮助

    **J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的一个版本,专门针对企业级应用开发。它提供了一个全面的框架来构建、部署和管理多层、分布式、跨平台的企业应用程序。J2EE学习笔记...

    java知识总结 android知识总结和j2ee知识总结

    J2EE知识总结: Java 2 Platform, Enterprise Edition (J2EE)是一个用于开发企业级应用程序的框架,它包括一系列标准和API,如: 1. Servlets:用于处理HTTP请求的服务器端组件。 2. JavaServer Pages(JSP):将...

    J2EE学习笔记.doc

    J2EE学习笔记主要涵盖了Java企业级开发的关键概念和...总结起来,这份J2EE学习笔记详细介绍了JSP、JavaBean和Servlet的核心概念,这些都是J2EE开发中的重要组成部分,对于理解并实践Java企业级应用开发具有指导意义。

    桂电信科J2EE程序设计实验二 JSP实现简单的登录模块

    总结一下,桂电信科J2EE实验二的核心是利用JSP技术构建一个用户登录系统,包括用户界面、服务器端处理和响应处理。通过这个实验,学生能够学习到JSP的基础知识,如处理HTTP请求,使用session管理用户状态,以及简单...

    j2EE中个人学习,SSH经历作了总结希望对你有帮助

    总的来说,这个学习总结涵盖了j2EE开发中的关键概念,包括Struts的逻辑控制标签、Spring的依赖注入理念以及Web应用的基本配置。对于初学者来说,理解这些基本组件和它们如何协同工作是至关重要的,这将有助于构建更...

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

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

Global site tag (gtag.js) - Google Analytics