• 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的集成

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

  • 相关阅读:
    jQuery中jsonp的跨域处理,no access-control-allow-origin,unexpected token
    doT中嵌套for循环的使用
    c++ new带括号和不带括号
    python装饰器之使用情景分析
    Python中classmethod与staticmethod区别
    python作用域 scope
    duck type鸭子类型
    EAFP和LBYL 两种防御性编程风格
    c++重载、覆盖和隐藏
    c++ 名字粉碎(name mangling)
  • 原文地址:https://www.cnblogs.com/smileberry/p/2659821.html
Copyright © 2020-2023  润新知