第六章主要介绍了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. luogu P1347 排序

    题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列A,B,C,D 表示A<B,B<C,C<D.在这道题中,我们将给你一系列形如A<B ...

  2. AtCoder - 4130 K-th Substring

    Problem Statement You are given a string s. Among the different substrings of s, print the K-th lexi ...

  3. linux的file指令

    显示文件的类型,用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件, 还是shell script文 件或是其他的什么格式 例如:#file startx 语 法:file [-beL ...

  4. 【IntellJ IDEA】idea上 实现了Serializable接口,要自动生成serialVersionUID的方法

    需要点进setting ->搜索Inspections-->右侧选择java 下拉 进入Serialization issue--->勾选Serializable class wit ...

  5. Go VUE --- vuejs在服务器部署?

    感觉好多人把最基本的都忘了 还npm run dev 还守护进程,用守护进程也应该你自己用nodejs实现一个web静态服务器而不是去守护npm run dev 楼主问的既然是布署,哪默认就应该是生产 ...

  6. kubernetes1.5.2--部署监控服务

    本文基于kubernetes 1.5.2版本编写 Heapster是kubernetes集群监控工具.在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收 ...

  7. 摄像头bug查找工作总结

    近期花了很长时间在libcamera中查找和解决一个bug.下面将这段时间中的工作过程,以及对camera的认识总结如下: 首先是问题的发生,在UM2801中,摄像头的代码已经基本实现,并且相应功能也 ...

  8. Python-使用Magellan进行数据匹配总结

    参考:http://www.biggorilla.org/zh-hans/walkt/ 使用Magellan进行数据匹配过程如下: 假设有两个数据源为A和B, A共有四列数据:(A_Column1,A ...

  9. crontab配置

    1.命令功能 通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本.时间间隔的单位可以是分钟.小时.日.月.周及以上的任意组合.这个命令非常适合周期性的 ...

  10. 【云计算】WAF简介、功能特性、部署方式等

    之前写了一篇<WAF防御能力评测及工具>,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!).本篇文章从WAF产品研发的角度来YY如何 ...