斗爷

导航

Jsp设计第三版文摘

第一部分  Jsp应用初步

第一章 JavaServer Pages入门

JavaServer Pages是一种用于开发包含有动态内容的Web页面的技术

JSP的优点:

JSP同时支持基于脚本和基于元素的动态内容,并允许开发人员创建定制标记库来满足特定于应用的需求

JSP页面可以编译从而完成高效的服务器处理

JSP页面可以与处理业务逻辑的Servlet结合使用,这是Java Servlet模版引擎所推崇的模式

JSP 是一个规范,而不是一个产品

JSP是J2EE的一个集成部分,而J2EE是面向企业类应用的一个完整平台

 

第二章 HTTP和Servlet基础

HTTP(HyperText  Transport Protocol)超文本传输协议

HTTP 是一个无状态协议

不同于独立的GUI应用,Web应用无法轻松地立即提供反馈

协议中未明确请求是如何建立的,相应地,服务器也无法对触发客户请求的不同方法加以区别

 

请求参数:

以查询串的形式加在URI上,或者作为请求消息体的一部分发送

请求方法:

GET:获取一个资源,不需要服务器做任务工作

POST:请求在服务器上做某种处理,例如:更新一个数据库或者处理一个购买订单

 

Servlet

优点:

平台独立性和开发商独立性

集成性

高效率

可扩展性

健壮性和安全性

 

Servlet容器

Servlet上下文

 

第三章 JSP概述

Servlet存在的不足

处理代码和HTML元素堆积在一起

对Servlet代码进行更新和重编译

在设计应用界面时,很难充分利用Web页面开发工具

 

JSP元素

指令

动作

脚本

EL(Expression Language)表达式语言

 ${1 + 2 + 3}

第四章 建立JSP环境

---------------------------------------------------------------

第二部分 JSP应用开发

第五章 生成动态内容

JSP注释: <%--     --%>

动作分3类:标准动作,定制动作,和JSP标准标记库动作

隐式EL变量 

<c:out value="${param.username}">

第六章 在JSP页面中使用JavaBeans组件

bean就是遵循某些编码约定的Java类,从而可以在更大型的应用中作为组件由工具加以使用

bean类一定要使用一个包名

bean类必须有一个无参数的构造函数

bean性质要通过获取方法(getter)和设置方法(setter)来访问

bean类必须实现java.io.Serializable或java.io.Externalizable接口

 <jsp:useBean id="cartoon" 
      class="com.ora.jsp.beans.motd.CartoonBean" />

    <img src="images/<jsp:getProperty name="cartoon" 
      property="fileName" />">
    <jsp:useBean id="cartoon" 
      class="com.ora.jsp.beans.motd.CartoonBean" />

    <img src="images/${cartoon.fileName}">
 <jsp:setProperty name="msg" property="category"
      value="thoughts" />

使用JSTL<c:set>动作

第七章 使用定制标记库和JSP标准标记库

 定制动作:1.由程序员开发为Java类   2.由网页设计人员开发为标记文件

JSTL

Core(核心库) http://java.sun.com/jsp/jstl/core c
XML processing(xml处理) http://java.sun.com/jsp/jstl/xml x
I18N formatting(国际化) http://java.sun.com/jsp/jstl/fmt fmt
Database access(数据库访问) http://java.sun.com/jsp/jstl/sql sql
Functions(函数) http://java.sun.com/jsp/jstl/functions fn

bean还是定制动作

bean擅长作为信息载体,定制动作在处理信息方面更加突出

第八章 处理输入和输出

  You entered:<br>
    Name: <c:out value="${param.userName}" /><br>
    Birth Date: <c:out value="${param.birthDate}" /><br>
    Email Address: <c:out value="${param.emailAddr}" /><br>
    Gender: <c:out value="${param.gender}" /><br>
    Lucky Number: <c:out value="${param.luckyNumber}" /><br>
    Favorite Food:
      <c:forEach items="${paramValues.food}" var="current">
        <c:out value="${current}" />&nbsp;
      </c:forEach>

访问其他请求数据

pageContext.request

使用bean捕获参数值

 <jsp:useBean id="userInfo" 
      class="com.ora.jsp.beans.userinfo.UserInfoBean">
      <jsp:setProperty name="userInfo" property="*" />
    </jsp:useBean>

    You entered:<br>
    Name: <c:out value="${userInfo.userName}" /><br>
    Birth Date: <c:out value="${userInfo.birthDate}" /><br>
    Email Address: <c:out value="${userInfo.emailAddr}" /><br>
    Gender: <c:out value="${userInfo.gender}" /><br>
    Lucky Number: <c:out value="${userInfo.luckyNumber}" /><br>
    Favorite Food:
      <c:forEach items="${userInfo.food}" var="current">
        <c:out value="${current}" />&nbsp;
      </c:forEach>

使用JSTL动作验证用户输入

使用bean验证用户输入

使用<c:out> 还是fn.escapeXml()函数来转换特殊字符

第九章 错误处理和调试

 1.处理语法错误

元素语法错误

表达式语言语法错误

2.处理运行时错误

第十章 在JSP页面,请求和用户间共享数据

将控制从一个页面传递到另一个页面

<jsp:forward>

将数据从一个页面传递到另一个页面

page,request,session,application

信息发送给浏览器

1。作为一个cookie

2.作为隐藏域嵌套在一个HTML表单中

3.URL重写

<html>
  <head>
    <title>Counter page</title>
  </head>
  <body bgcolor="white">

    <%-- Increment counters --%>
    <c:set var="sessionCounter" scope="session"
      value="${sessionCounter + 1}" />
    <c:set var="applCounter" scope="application"
      value="${applCounter + 1}" />

    <h1>Counter page</h1>

    This page has been visited <b>${sessionCounter}</b> times 
    within the current session, and <b>${applCounter}</b> times
    by all users since the application was started.
  </body>
</html>    

重定向与转发

重定向:新的请求,请求作用域变量将不可用

转发:同一个请求

<c:redirect url="catalog.jsp" />

第十一章 将定制标记库开发为标记文件

<%@ tag body-content="empty" %>

<jsp:useBean id="now" scope="application" class="java.util.Date" />
Copyright &copy; ${now.year + 1900} My Company
<%@ page contentType="text/html" %>
<%@ taglib prefix="my" tagdir="/WEB-INF/tags/mytags" %>

<html>
  <body bgcolor="white">
    Any old page content ...
    <p>
    <my:copyright/>
  </body>
</html>

第十二章 访问数据库

第十三章 鉴别和个人化

用户鉴别:

http基本鉴别

http摘要鉴别

https客户鉴别

基于表单的鉴别   Servlet容器实现

应用控制的鉴别

第十四章 国际化

第十五章 处理XML数据

第十六章 使用脚本元素

脚本元素:

1.小脚本(scriptlet)

2.表达式(expression)

3.声明(declaration)

第十七章 拾遗补缺

--------------------------------------------------------------------------------

第三部分 J2EE和JSP组件开发中的JSP

第十八章 web应用模型

第十九章 结合JSP和Servlet

第二十章 为JSP开发JavaBeans组件

第二十一章 使用Java开发定制标记库

第二十二章 高级定制标记库特性

第二十三章 定制代码与JSTL的集成

第二十四章 数据库访问策略

posted on 2012-08-28 10:18  斗哥哥  阅读(408)  评论(0编辑  收藏  举报