第六章主要介绍了JSP的相关知识。

1.JSP:是通过在HTML文件中加入java程序片段(Java Scriptlet)和JSP标记,就构成了JSP文件。JSP实质上是Servlet。JSP的API主要位于javax.servlet.jsp包及子包中。

2.当Servlet容器接收到客户端的要求访问特定JSP文件的请求时,容器按照如下流程来处理客户端的请求:

(1).查找与JSP文件对应的Servlet。如果已经存在,就直接调用该Servlet的服务方法;

(2).如果不存在与JSP文件对应的Servlet,则容器会解析文件系统中的JSP文件,并将其翻译成Servlet源文件,接着把Servlet源文件编译成Servlet类,然后再初始化并运行Servlet。将JSP翻译成Servlet源文件并进行翻译成Servlet类的活动,只在客户端首次访问此JSP文件时进行。

3.JSP常用语法总结

(1).JSP指令:位于"<%@" 和 "%>"内,常用指令有page(由属性和值组成,包括:method,import,content_type等常用属性),include(静态包含其他文件的内容),taglib。比如:<%@ page import="java.io.*,java.util.Hashtable" %>,<%@ include file="common.jsp" %>

(2).JSP声明:位于"<%!"和"%>"内,声明的变量为对应Servlet类的成员变量(位于Service(),doGet(),doPost()之外),声明的方法为对应Servlet类的成员方法(位于Service(),doGet(),doPost()之外)。比如:<%! int v1=0; %>

(3).Java程序片段:位于“<%>”和"%>"内。默认这些代码片段位于对应Servlet类的service()方法中。比如: <% String gender="femali"; if(gender.equals("female")) {>

(4).Java表达式:位于"<%="和"%>"内。用来输出值的。表达式中的int或者float类型的值都会被自动转换成字符串后,再进行输出。

(5).注释标记:位于"<%--"和"--%>"内

(6).隐含对象:JSP中默认提供一些保留字符串,代表了一些默认对象。如:request,response,pageContext,application,out,config,page,session,exception

4.JSP生命周期:开发人员可以编写jspInit()和jspDesctory()方法,对应Servlet接口的init()和destory()

5.JSP请求转发:采用<jsp:forward>标签来实现请求转发,转发对象可以是HTML文件,JSP文件或者Servlet。还可以嵌套<jsp:param>标签来传递参数

6.JSP包含:分为静态包含(采用include指令,目标组件可以是HTML文件或者JSP文件,不允许是Servlet)和动态包含(采用<jsp:include>标签,目标组件可以是HTML文件,JSP文件或者Servlet)。静态包含和动态包含的区别,在于Servlet容器对它们的翻译和编译的处理方式不同。

7.JSP异常处理:采用page指令中的 errorPage属性,指定一个处理异常的jsp文件;再采用page指令中的isErrorPage属性,表示某个jsp文件是用来处理异常的。通过调用隐含对象<% exception.printStackTrace(new PrintWriter(out));%>就可以输出异常到客户端了

《TomCat与Java Web开发技术详解》(第二版) 第六章节的学习总结 ---- JSP技术的更多相关文章

  1. Java Web开发之详解JSP

    JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用, ...

  2. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  3. java web之Filter详解

    java web之Filter详解 2012-10-20 0 个评论 作者:chenshufei2 收藏 我要投稿 .概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,W ...

  4. java web.xml配置详解(转)

    源出处:java web.xml配置详解 1.常规配置:每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定. web.xml定义: .站台的名称和说明 .针对环境参 ...

  5. 《FPGA设计技巧与案例开发详解-第二版》全套资料包

    本人参与写的一本书(TimeQuest一章由我所写),希望大家多多支持: 全书配套资料上传各大网盘资料中附送大量源码,你值得拥有--<FPGA设计技巧与案例开发详解-第二版>全套资料包-V ...

  6. Java web.xml 配置详解

    在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...

  7. java web.xml配置详解

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  8. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询

    响应式设计的另一个重要技术手段是媒体查询.如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应 ...

  9. 《TomCat与Java Web开发技术详解》(第二版) 第四章节的学习总结--常用Servlet API

    要开发Servlet,自然要掌握常用的servlet的相关API.通过此章节的学习,了解到如下常用API 1.Servlet接口--->GenericServlet抽象类(实现Servlet接口 ...

随机推荐

  1. IE浏览器Cookie信息提取工具Galleta

    IE浏览器Cookie信息提取工具Galleta   浏览器Cookie中保存着用户访问网站的各项敏感信息,如用户登录凭证.提取这些信息后,就可以以该用户的身份访问对应的网站.为了方便信息获取,Kal ...

  2. bzoj 4338: BJOI2015 糖果

    4338: BJOI2015 糖果 Time Limit: 2 Sec  Memory Limit: 256 MBSubmit: 200  Solved: 93[Submit][Status][Dis ...

  3. 编译qt提示找不到gmake

    转:http://wuyuans.com/2012/11/gmake-not-found/ 在用debian编译qt4.5的时候提示gmake: not found,gmake是什么东西,用aptit ...

  4. JAVA生成问答式验证码图片,支持加减算法

    原文:http://liuguihua0823.iteye.com/blog/1511355 import java.awt.Color; import java.awt.Font; import j ...

  5. JAVA常见算法题(二十三)

    package com.xiaowu.demo; /** * 给一个不多于5位的正整数,要求:①求它是几位数:②逆序打印出各位数字. * * * @author WQ * */ public clas ...

  6. top显示的内存各项参数解析

    top观察进程数据时,会有如下几个内存参数(可以用f选择显示哪些参数): VIRT, RES, SHR, SWAP, CODE, DATA top实际上是从/proc/<pid>/stat ...

  7. 10g full join 优化

    今天一个女生咨询我报名学优化.聊着聊着就让我优化一个sql 由于怕泄密,所以删除了 sql . 不好意思 该sql是 olap 的, 在oracle10g 上面跑.跑一次要33秒钟.一般olap报表. ...

  8. WO+开放平台:API调用开发手记(话费计费接口2.0)

    WO+能力共享平台(http://open.wo.com.cn)是中国联通推出的开放平台.拥有的丰富电信能力资源以及深度整合挖掘的第三方能力资源等.WO+平台提供的API均为简洁优雅的RESTful风 ...

  9. git学习——记录每次更新到仓库

    记录每次更新到仓库 工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪.已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或 ...

  10. navigationItem的设置和titleView的设置

    设置导航栏中间的标题 self.navigationItem.title = @"title"; 设置导航栏的主题颜色 self.navigationBar.barTintColo ...