`
MicroClimber
  • 浏览: 764 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
[size=xx-small]Java高级部分JSP
一、 JSP 作用于表现层

JSP文件结构和主要标签

JSP基本概念:
◆JSP页面:JSP页面就是嵌入了Java语句的HTML文件;JSP页面不能够直接运行的,必须翻译成一个Servlet程序,最后运行在容

器上的就是这个Servlet程序的对象实例
◆JSP实现类:通常称这个由容器根据JSP页面生成的Servlet类叫做JSP页面实现类(JSP page implementation class)。

1.1 脚本表达式和指示元素
2 脚本元素基本概念
    脚本片段
声明
表达式

3 脚本片段
     <%  Java语句片段  %>
在脚本片段中就不能定义方法 ,不能在<%和%>标记对中嵌入文本、HTML标记或其它JSP标记

4 脚本声明
<%! Java声明语句 %>
专门用于声明全局性的对象或函数

5 脚本表达式
<%= Java表达式 %>
容器在遇到表达式元素时,会将它转化成下面所示的语句:
out.print(String.valueOf(表达式));
表达式后面不要加分号
专门用于将一些Java表达式以字符串的形式显示在客户端的浏览器中
      JSP注释:
在JSP页面中加入注释的方法有四种:
<%-- 注释内容 --%>
<!—注释内容 -->
<%// 注释内容 %>
<%/* 注释内容 */%>
请思考,下面的代码在发送给客户端后的HTML文件中,应该是什么样的?
<%String author = "Tiny"%>
<!--Author is <%= author>-->
  6  指示元素:也称为指令元素
指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。
7  指示元素是由指示标记和指示属性组合而成的,它们的基本语法形式是:
<%@ directive属性列表%>
指示元素一共有三类,即page指示元素,include指示元素和taglib指示元素。
8  page指示元素
┣ page指示元素包含了与整个JSP页面相关的一些属性。
┣ 在一个JSP翻译单元(翻译单元是JSP源文件及其它通过include指示包含进来的JSP文件)中,可以包含多个独立的page

指示。
┣ 在整个翻译单元中,page指示中的属性只能设置一次。
┣ page指示的属性是位置无关的。
┣ 指示元素的一般形式如下:
┣ <%@page 属性列表 %>
┣ 其中,<%@page和%>是指示标记,而属性列表中则包含了page指示要设置的属性及其值。属性列表的形式是“属性名1=

"属性值1" 属性名2="属性值2" ……”。可以一次设置一个属性,也可以一次设置多个属性。
┣ page指示元素中几个常用的、并且重要的属性:
┣ import属性
┣ session属性
┣ isErrorPage属性
┣ errorPage属性
┣ contentType属性
┣ pageEncoding属性
┣ <%@page import="java.sql.*"isErrorPage="false"errorPage="error.jsp"  session=“true”%>
┣ <html>
┣ <body>
┣     <h1>返回所有已记录学生</h1>
┣ </body>
┣ </html>

┣ <%@ page contentType="text/html; charset=gb2312" isErrorPage="true"%>
┣ <html>
┣   <head>
┣     <title>
┣       error
┣     </title>
┣   </head>
┣   <body bgcolor="#ffffff">
┣     <h1><%=exception.getMessage()%></h1>
┣   </body>

include指示元素
┣ 静态include
┣ include指示元素用于在翻译阶段将指定的文件加入到当前的页面中来
<%@ include file="relativeURLspec" %>

taglib指示元素
┣ JSP页面中的taglib指示是用来提示容器,当前的JSP页面使用了扩展标记库(Tag Library)
┣ 标记可以分成两种类型
标准标记。
自定义标记。
┣ <%@ taglib uri="http://www.mycorp/supertags" prefix="super" %>
┣ ...
┣ <super:doMagic>
┣ ...
┣ </super:doMagic>

taglib指示元素的语法形式为:
┣ <%@taglib(uri="tagLibraryURI"|tagdir="tagDir") prefix="tagPrefix" %>
┣ URI的作用是用来指定标记库描述文件的位置
┣ tagdir用来指定扩展标记所在的位置
┣ prefix用来指定标记的前缀名,前缀名的用法是<前缀名:标记名>。 jsp、jspx、java、javax、servlet、sun和sunw

是JSP规范中定义的保留字


1.2隐含变量
1、什么是内置对象:不用在JSP中定义就可以用的对象!
┣ <%@ page contentType="text/html" %>
┣ <html>
┣     <head>
┣         <title>
┣             HelloWorldJSP
┣         </title>
┣     </head>
┣     <body>
┣         <%
┣            out.println("<h1>Hello, World!<h1>");
┣         %>
┣     </body>
┣ </html>
2、自定义对象是不能在JSP页面中直接使用的。
如果想要使用它们,要么在脚本元素中声明(import)。

┣ 内置对象分类
    
名称 类型 语义 作用域
request ServletRequest类或其子类的对象实例,依据使用协议的不同而不同。例如,当使用的协议是HTTP协议时,则

为HttpServletRequest对象 触发服务的客户端请求,存储与请求相关的数据,可以调用相应方法读取这些数据

request
response ServletResponse类或其子类的对象实例,依据使用协议的不同而不同。例如,当使用的协议是HTTP协议时,

则为HttpServletResponse对象 服务器处理请求后,生成的客户端响应对象,通常调用它的方法将响应页面内容写入到客户

端。 page
pageContext PageContext类的对象实例 当前JSP页面的上下文环境 page
session HttpSession类的对象实例 当前客户会话对象,只对HTTP协议下的应用有效 session
application ServletContext类的对象实例 Servlet上下文环境 application
out javax.servlet.jsp.JspWriter的对象实例 提供向客户端写出输出流的对象 page
config javax.servlet.ServletConfig的对象实例 存储页面的信息 page
page java.lang.Object类的对象实例 处理当前用户请求的JSP页面实现类的对象实例 page
exception java.lang.Throwable类的对象实例 未被处理的异常,这个对象只对错误处理页面有效,即要在page

指示中设置errorPage属性为真。 page

3、 什么是作用域
┣ 对象的作用域就是用来说明对象在什么范围内是有效的,哪些实体可以对它们进行访问
┣ JSP规范中定义了四种作用域,它们是页面作用域、请求作用域、会话作用域和应用程序作用域

&具有页面作用域的对象只在创建它们的页面内有效,所有具有页面作用域的对象引用都存储在pageContext对象中。
&具有请求作用域的对象在JSP页面处理创建它的请求的过程中都是有效的。所有,具有请求作用域的对象引用都是存储在

request对象中的。
┣ API:
┣ getScheme()
┣ getServerName()
┣ getServerPort()
┣ getMethod()
┣ getRequestURI()  
┣ getParameter(String name)
┣ getParameterNames()
┣ getAttribute(String name)
&具有会话作用域的对象在同一会话过程中都是有效的。声明了这类对象的页面必须要设置会话有效,也就是要在page指示元素

中将session属性设置为true。因为page中此属性默认为true。所以,不能通过判断(session==null),来确定在线人数。
&具有应用程序作用域的对象在整个JSP应用程序中都是有效的.



1.3行为元素
1、行为元素的概念
●与指令元素不同,行为元素是与特定的请求相关的。它通过使用、修改或创建对象来影响服务器的输出流。
┣运行期间

●    标准行为元素是在JSP规范中定义的行为元素,它们有着统一的前缀名jsp。
<jsp:useBean id="user" class="com.icss.oa.entity.User">
  </jsp:useBean>
自定义行为元素则是用户通过扩展标记库或标记文件的方式,经tablib指示元素引入到JSP页面中的行为元素。
2、常见的行为元素
┣ 最常用的行为元素:
┣ <jsp:useBean>
┣ <jsp:setProperty>
┣ <jsp:include>
┣ <jsp:forward>
┣ <jsp:param>
3、应用原理
●jsp:useBean行为元素的作用是将Java对象与一个脚本变量相关联。
●脚本变量就是按照脚本语言规则声明的变量,当Java对象与脚本变量相关联后,用户就可以在脚本元素中使用脚本变量来访问

这些对象了。
●通过jsp:useBean行为元素关联起来的Java对象和脚本变量具有相同的标识符,就是说它们的名称是相同的。
● 注意事项:
┣ javaBean是一个公开的(public)类
┣ javaBean必须有一个没有参数的构造函数
┣ 取得或设定参数时,必须使用getXXX方法和setXXX方法
● javaBean的整体结构
┣ <jsp:useBean id="name“ class = “com.icss.oa.entity.User” scope="page|request|session|application" />
┣ </jsp:useBean>

1.4 EL和JSTL
1、 EL部分(expression language)
@为什么要用EL┣
1、 因为EL标签是由java脚本封装的,所以代码更简洁易读,更容易使美工工作。
2、 它遵守MVC架构,使得代码更容易维护。
但是:对它的解析似乎有多了一层。
@EL的基础知识。
1、EL的表示形式:EL的形式都是${expr}。
  2、EL的应用范围:可以应用在标准行为元素、自定义行为元素和任意的模板文本中。<c:if test = "${1=="1"}"> "liming"
   </c:if>
@EL中的作用域:包括页面作用域、请求作用域、会话作用域和应用程序作用域。查找顺序是从小到大。
pageScope 按名称存储了页面作用域的属性
requestScope 按名称存储了请求作用域的属性     ${requestScope.user.userName}
sessionScope 按名称存储了会话作用域的属性 ${sessionScope.user.userName}
applicationScope 按名称存储了应用程序作用域的属性     ${contextScope.user.userName}
@EL的内置对象:
类型 名称 说明
JSP pageContext PageContext类的实例,对应于当前页面的处理
作用域 pageScope 按名称存储了页面作用域的属性
requestScope 按名称存储了请求作用域的属性
sessionScope 按名称存储了会话作用域的属性
applicationScope 按名称存储了应用程序作用域的属性
请求参数 param 按名称存储了请求对象的参数名及值,可以通过“."操作符来获取其中的参数,用于单值情况
paramValues 按名称存储了请求对象的参数名及值,可以通过“."操作符来获取其中的参数,用于多值情况
请求报头 header 按名称存储了请求对象的报头,可以通过“.”操作符来获取报头,用于单值情况
headerValues 按名称存储了请求对象的报头,可以通过“.”操作符来获取报头,用于多值情况
Cookie cookie 按名称存储了请求中的Cookie对象,用于单值
初始化参数 initParam 按名称存储了初始化参数
例子:1、<form action="">
         <input type = "text" name="userName">
         <input type = "submit" >
         </form>
         <!-- 相当于getParamter -->
${param.userName}
    2、pageContext++++++++++++++++++++++
       ${pageContext.request.method}
3、一个haspmap的例子
${hm.user.computer}

@取得初始化参数:
initParam++++++++++++++++++++++
      ${initParam.inittest}
   @取得doGet()或是doPost()方法
        pageContext++++++++++++++++++++++
        ${pageContext.request.method}
2、JSTL:JSP STANDRAD TAB LANGUAGE(或者是:JavaServer Pages Standard Tag Library)部分:
      @存在理由:
         EL没有逻辑判断功能。JSTL给予补充。
      @如何配置:(有时候不用配置,编译器和版本的问题)
┣ 下载JSTL标签库放到相应的文件夹下
┣ 配置web.xml
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
</jsp-config>

┣ 在JSP中导入标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
其中core是指核心标签库(Core tag library)
主要的标签函数库分为五大类:
核心标签库:Core tag library
I18N格式标签库:I18N-capable formatting tag library
SQL 标签库:SQL tag library
XML 标签库:XML tag library
函数标签库:Functions tag library
@core核心标签库主要功能:
表达式操作:out,set,catch, remove
流程控制:
┣ if,(例子见前面EL部分)
┣ choose,
┣ when,otherwise
迭代操作:
┣ forEach,forTokens
URL操作:
┣ Import,url,redirect

@其余。。。。。。。。。。。。。。

都是上课的时候,我们老师给我们将的一些内容的总结,肯定有不足之处,希望高手多多指教。
1.5 CustomTag
[/size]
分享到:
评论

相关推荐

    JSP笔记,本人学习JSP的心得

    JSP的使用在当今的Java Web开发中,已经被Java Servlet和JavaServer Faces(JSF)等技术部分取代,但依然在一些项目中有着广泛的应用。理解和掌握JSP的基本原理和常用语法,对于深入学习Java Web开发是十分重要的。

    课程设计jsp学习心得

    JSP学习心得 JSP(Java Server Pages)是一种基于Java的服务器端脚本语言,用于生成动态网页。JSP技术可以将Java代码嵌入到HTML网页中,以生成动态网页内容。JSP程序设计课程的学习体会涵盖了从基础知识到实践应用...

    JSP环境配置心得JSP环境配置心得

    《JSP环境配置心得》 在Java Web开发中,JSP(Java Server Pages)是一种用于创建动态网页的技术,而Tomcat则是一个广泛使用的Java应用服务器,特别适合部署JSP和Servlet应用。对于初学者来说,配置JSP环境可能会...

    JSP应用技巧及心得---数据库的链接

    在JSP(Java Server Pages)开发中,理解并熟练运用预定义变量以及JSP指令是提升应用程序性能和可维护性的关键。以下是对标题和描述中提及的知识点的详细解释: 一、JSP预定义变量(Implicit Objects) 1. **...

    JSP初学心得

    根据提供的信息,我们可以总结出以下关于JSP初学者的一些关键知识点和实践经验: ### 1. JSP基础概念 - **JSP(Java Server Pages)**:是一种基于Java技术的服务器端脚本语言,用于创建动态网页。它允许将Java...

    学习html标签和jsp的心得

    此外,还有一些与视觉样式相关的标签,比如: - `&lt;B&gt;`用于加粗文本,`&lt;I&gt;`用于斜体,`&lt;U&gt;`用于下划线,`&lt;S&gt;`用于删除线,`&lt;SUB&gt;`和`&lt;SUP&gt;`用于上标和下标。 - `&lt;BIG&gt;`和`&lt;SMALL&gt;`调整字体大小,但现代浏览器推荐...

    JSP学习心得

    作者:徐春金下面是本人在学习JSP时的一些心得: 一、JSP工作原理在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 ...

    JSP开发环境的配置心得.rar

    在IT行业中,Java Server Pages(JSP)是一种广泛使用的服务器端脚本语言,用于构建动态网页和Web应用程序。本文将详细解析如何配置JSP开发环境,以帮助开发者更高效地进行JSP编程。 首先,我们需要准备的基础软件...

    浅谈心得体会 如何成为一个优秀的jsp程序员

    ### 如何成为一个优秀的JSP程序员 #### 一、引言 在互联网技术飞速发展的今天,JSP(Java Server Pages)作为一种重要的服务器端脚本语言,依然占据着重要的位置。对于希望进入或深入掌握JSP技术的人来说,了解...

    jsp学习心得关键的技术代码

    为了适合大型新闻发布系统的要求,系统后台设计的时候就不是只考虑了一个人,而是有完善的权限管理,超级管理员可以为每个用户定义不同的权限,若访问了没有权限访问的页面,页面会禁止访问,并弹出告警框。

    jsp实习心得体会.doc

    【jsp实习心得体会】 在JSP实习的过程中,实习生深入体验了Web开发的实际操作,尤其是在JSP程序设计方面。JSP(JavaServer Pages)是一种基于Java的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,实现...

    jsp实习报告(学生适用)

    **JSP实习报告** 在Java Web开发领域,JSP(JavaServer Pages)是一种常见的技术,用于创建动态网页。本实习报告将围绕JSP的核心概念、基本语法、开发环境及一个简单的JSP系统开发实例进行详细阐述,旨在帮助学生...

    学习jsp后的总结,很好用

    【JSP技术详解】 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,主要用于构建动态web应用程序。它的主要特点是将HTML、CSS、JavaScript等静态内容与Java代码结合,实现动态网页的生成。在Java ...

    flex嵌入jsp心得

    ### Flex嵌入JSP开发心得 #### 1. 选择Flex而非JFreeChart的原因 在开发过程中,开发者最初考虑使用JFreeChart来生成数据统计图表,但最终决定采用Flex。这一转变主要基于对图表外观质量的考量。JFreeChart生成的...

    jsp学习总结

    虽然JSP和Servlet都可以用来开发Web应用,但它们之间存在一些区别: - **JSP更易读**:由于JSP允许开发者将HTML与Java代码混合,因此代码更加直观。 - **Servlet更灵活**:Servlet允许开发者完全控制HTTP请求/响应...

    jsp内置对象ppt总结

    jsp基础的学习资料,适合初学者,ppt形式,可以很容易学会jsp jsp基础的学习资料,适合初学者

    jsp课程总结

    "jsp课程总结" JSP(JavaServer Page)是一种基于 Java Server 以及整个 Java 体系的 Web 开发技术,能够建立动态的、高性能的、安全的、跨平台的先进动态网站。JSP 技术的核心是将 Java 代码嵌入到 HTML 页面中,...

    (完整版)JSP学习心得.doc

    (完整版)JSP学习心得.doc

    自学jsp+servlet读书心得

    【JSP(Java Server Pages)与Servlet概述】 JSP(Java Server Pages)是Java平台上的一个服务器端技术,主要用于创建动态网页。它允许开发者将HTML、XML或者其他标记语言与Java代码混合在一起,使得网页能够根据...

    jsp学习笔记总结(收集)

    在传统的JSP开发中,JSP常作为视图层,但随着Struts、Spring MVC等框架的流行,JSP更多地被用于显示数据,与模型和控制器分离,遵循MVC设计模式。 9. **JSP与Servlet的关系** JSP本质上是Servlet的一种简化版,其...

Global site tag (gtag.js) - Google Analytics