《TomCat与Java Web开发技术详解》(第二版) 第六章节的学习总结 ---- JSP技术
第六章主要介绍了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技术的更多相关文章
- Java Web开发之详解JSP
JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用, ...
- 《Tomcat与Java Web开发技术详解》思维导图
越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...
- java web之Filter详解
java web之Filter详解 2012-10-20 0 个评论 作者:chenshufei2 收藏 我要投稿 .概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,W ...
- java web.xml配置详解(转)
源出处:java web.xml配置详解 1.常规配置:每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定. web.xml定义: .站台的名称和说明 .针对环境参 ...
- 《FPGA设计技巧与案例开发详解-第二版》全套资料包
本人参与写的一本书(TimeQuest一章由我所写),希望大家多多支持: 全书配套资料上传各大网盘资料中附送大量源码,你值得拥有--<FPGA设计技巧与案例开发详解-第二版>全套资料包-V ...
- Java web.xml 配置详解
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...
- java web.xml配置详解
1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询
响应式设计的另一个重要技术手段是媒体查询.如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应 ...
- 《TomCat与Java Web开发技术详解》(第二版) 第四章节的学习总结--常用Servlet API
要开发Servlet,自然要掌握常用的servlet的相关API.通过此章节的学习,了解到如下常用API 1.Servlet接口--->GenericServlet抽象类(实现Servlet接口 ...
随机推荐
- docker网络及Dockerfile
1.制作镜像 使用阿里的yum源,网址:https://opsx.alibaba.com/mirror,或者mirrors.aliyun.com,点击帮助,就会有弹框出来. docker pull c ...
- JD2
Business Requirement Support l Develops and communicates plan to manage vendor review of requirement ...
- Requirement Analysis
BRD:Business Requirements Document,商业需求文档.这是产品声明周期中最早的问的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是和老大们 ...
- Logger Rate Limiter -- LeetCode
Design a logger system that receive stream of messages along with its timestamps, each message shoul ...
- [BZOJ 4031] 小Z的房间
Link: BZOJ 4031 传送门 Solution: 矩阵树定理的模板题 看完下面两篇文章就会啦: 周冬论文:https://wenku.baidu.com/view/872eb02de2bd9 ...
- [CF232E]Quick Tortoise
题目大意: 给你一个$n\times m(n,m\leq 500)$的格子,有一些是障碍物.从一个格子出发只能向下或向右走,有$q$组询问,每次询问从一个点是否能够到达另一个点. 思路: 分治. 两点 ...
- vim 注释取消注释多行
按下ctrl+v选中多行,按大写I(必须是大写的I)进入编辑模式,输入注释符号如#,最后按下esc退出就完成了 取消注释一样按下ctrl+v选中,按d删除
- 新人补钙系列教程之:AS3 与 PHP 简单通信基础
package { import flash.display.Loader; import flash.events.Event; import flash.net.URLLoader; import ...
- How to get the edited text from itext in fabricjs
https://stackoverflow.com/questions/39286826/how-to-get-the-edited-text-from-itext-in-fabricjs http: ...
- Material Design (二),TextInputLayout的使用
前言 一般登录注冊界面都须要EditText这个控件来让用户输入信息,同一时候我们通常会设置一个标签(使用TextView)和EditText的hint属性来提示用户输入的内容,而设计库中高级组件T ...