- 浏览: 85661 次
文章分类
最新评论
第三章:servlet基础
核心方法:
1.使用HTML验证器检查由您servlet所生成的页面的语法。
HTML文档中包括<!DOCTYPE...>
这个就是告诉HTML验证器我们使用的是那个HTML版本,从而验证器知道用哪种规范对文档进行检查。验证器所在页面为:
www.htmlhelp.com/tools/validator。
2.如果需要同等处理GET和POST,可以让其中之一调用另一个,不要覆盖service方法。
警告
1.必须在传送实际的文档之前设定内容的类型。
2.不要让高流量的servlet实现SIngleThreadModel。servlet规范2.4不赞成使用SingleThreadModel,因为SingleThreadModel是针对单一实例,让所有请求排队,减少了性能,此外,如果我们产生多个实例来实现SingleThreadModel那么每个实例就会拥有自己的实例变量,就无法完成同步,所以我们需要使用明确的synchronized的代码块实现代码级的共享。
心得笔记
1.如果你发现自己在out.println()多次重复相同的代码,我们可以创建简单的实用工具类,来简化这些构造。比如
:
2.servlet的生命周期,首次创建servlet时。它的inti方法会得到调用,因此,inti是放置一次性设置代码的地方,在这之后,针对每个用户请求,都会创建一个线程,该线程调用service()方法,多个并发请求一般会导致多个线程同时调用service(),之后,由
service方法依据接收到的HTTP请求的类型,调用doGet,doPost或其他doXxx方法,最后服务器决定卸载某个servlet,会首先调用servlet的destroy方法。
3.service方法,GET请求起因于正常的URL请求,或没有指定METHOD的HTML表单。
a.service中已经拥有对options和Trace请求的自动支持,所以我们可以不写doOptions和doTrace
4.init方法,a.常见初始化。b.由初始化参数控制的初始化,这种方式使管理员无需修改servlet的源代码。就可以将servlet在机器间移动,以及改变特定的参数。
这种方式非常依赖于部署描述文件web.xml。a.通过向web.xml的servlet元素添加init-param,可以指定初始化参数的名称和值,然后servlet的inti方法中,调用getServletConfig,获取ServletConfig对象的引用,然后调用ServletConfig的getInitParameter方法,返回值就是init参数的值,或者null——由于我们没有设置。
5.SingleThreadModel接口:a.系统只生成servlet的单一实例,之后为每个用户请求创建新的线程。注意多个线程并不共享局部变量,而共享全局变量(或者叫成员变量,全局变量又包括类变量和实例变量),所以需要对共享的变量予以保护。这里就要理解下为什么不共享局部变量,因为如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝,一个线程对该局部变量的改变不会影响到其他的线程。
核心方法:
1.使用HTML验证器检查由您servlet所生成的页面的语法。
HTML文档中包括<!DOCTYPE...>
这个就是告诉HTML验证器我们使用的是那个HTML版本,从而验证器知道用哪种规范对文档进行检查。验证器所在页面为:
www.htmlhelp.com/tools/validator。
2.如果需要同等处理GET和POST,可以让其中之一调用另一个,不要覆盖service方法。
警告
1.必须在传送实际的文档之前设定内容的类型。
2.不要让高流量的servlet实现SIngleThreadModel。servlet规范2.4不赞成使用SingleThreadModel,因为SingleThreadModel是针对单一实例,让所有请求排队,减少了性能,此外,如果我们产生多个实例来实现SingleThreadModel那么每个实例就会拥有自己的实例变量,就无法完成同步,所以我们需要使用明确的synchronized的代码块实现代码级的共享。
心得笔记
1.如果你发现自己在out.println()多次重复相同的代码,我们可以创建简单的实用工具类,来简化这些构造。比如
:
public class ServletUtilities{ public static final String DOCTYPE = ""; public static final String headWithTitle(String title){ return (DOCTYPE +"\n"+"<HTML>\n" +"<head><title>"+title+"</title><head>\n"); } }
2.servlet的生命周期,首次创建servlet时。它的inti方法会得到调用,因此,inti是放置一次性设置代码的地方,在这之后,针对每个用户请求,都会创建一个线程,该线程调用service()方法,多个并发请求一般会导致多个线程同时调用service(),之后,由
service方法依据接收到的HTTP请求的类型,调用doGet,doPost或其他doXxx方法,最后服务器决定卸载某个servlet,会首先调用servlet的destroy方法。
3.service方法,GET请求起因于正常的URL请求,或没有指定METHOD的HTML表单。
a.service中已经拥有对options和Trace请求的自动支持,所以我们可以不写doOptions和doTrace
4.init方法,a.常见初始化。b.由初始化参数控制的初始化,这种方式使管理员无需修改servlet的源代码。就可以将servlet在机器间移动,以及改变特定的参数。
这种方式非常依赖于部署描述文件web.xml。a.通过向web.xml的servlet元素添加init-param,可以指定初始化参数的名称和值,然后servlet的inti方法中,调用getServletConfig,获取ServletConfig对象的引用,然后调用ServletConfig的getInitParameter方法,返回值就是init参数的值,或者null——由于我们没有设置。
5.SingleThreadModel接口:a.系统只生成servlet的单一实例,之后为每个用户请求创建新的线程。注意多个线程并不共享局部变量,而共享全局变量(或者叫成员变量,全局变量又包括类变量和实例变量),所以需要对共享的变量予以保护。这里就要理解下为什么不共享局部变量,因为如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝,一个线程对该局部变量的改变不会影响到其他的线程。
发表评论
-
servlet和jsp核心编程(第2版)第十六章 简化对Java代码的访问:jsp2.0表达式语言学习笔记
2012-08-23 21:49 730第十六章:简化对Java代 ... -
servlet和jsp核心编程(第2版)第十五章servlet和JSP的集成,模型-视图-控制器构架
2012-08-23 14:59 738第十五章:servlet和JSP的集成,模型-视图-控制器构架 ... -
servlet和jsp核心编程(第2版)第十四章 JavaBean组件在JSP文档中的应用 学习笔记
2012-08-21 11:55 702第十四章 JavaBean组件在JSP文档中的应用 一、bea ... -
servlet和jsp核心编程(第2版)第十三章 在JSP页面中包含文件和applet学习笔记
2012-08-20 15:53 862第十三章 在JSP页面中包 ... -
servlet和jsp核心编程(第2版)第十二章page指令学习笔记
2012-08-19 17:00 755第十二章 控制所生成的servlet的结构:JSP page指 ... -
servlet和jsp核心编程(第2版)第十一章jsp脚本元素的调用学习笔记
2012-08-18 21:09 815第十一章 用JSP脚本元素 ... -
servlet和jsp核心编程(第2版)第十章jsp技术概述学习笔记
2012-08-18 10:37 687第十章jsp技术概述 学习笔记: 一servlet和jsp的区 ... -
servlet和jsp核心编程(第2版)第九章会话跟踪学习笔记
2012-08-17 17:30 893第九章 会话跟踪 核心 ... -
servlet和jsp核心编程(第2版)第八章cookie管理学习笔记
2012-08-08 12:27 841第八章 cookie管理 核心方法: 1.在创建cookie对 ... -
servlet和jsp核心编程(第2版)第七章服务器响应的生成:HTTP响应报头学习笔记
2012-08-06 17:45 728第七章:服务器响应的 ... -
servlet和jsp核心编程(第2版)第六章服务器响应的生成:HTTP状态代码学习笔记
2012-08-05 10:52 736第六章:服务器响应的生成:HTTP状态代码 核心方法: 1.在 ... -
servlet和jsp核心编程(第2版)第五章客户请求的处理:HTTP请求报头学习笔记
2012-08-02 21:36 701第五章客户请求的处理:HTTP请求报头 核心方法: 1.在使用 ... -
servlet和jsp核心编程(第2版)第四章客户请求的处理,表单数据学习笔记
2012-07-31 16:05 1235第四章学习笔记 客户请 ...
相关推荐
[JSP&Servlet;学习笔记(第2版)]。
《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...
JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 本书针对Servlet3.0的新功能全面改版,无论章节架构...
JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷
jsp&servlet学习笔记(第2版)光盘,买书附赠光盘,完片版本。
[JSP&Servlet学习笔记(第2版)] 林信良
jsp&servlet;学习笔记 光盘 源码 已经将里面的tools去除 文件大小比较小了
该书是学习JSP和Servlet的好书,讲解通俗易懂,详细全面,带目录。
JSP&Servlet学习笔记,适合初学jsp和servlet的人群,初学者学习可能有点困难
第三篇为“JSP技术基础”,主要讲述JSP的基本语法和内建对象及JSP和Servlet的集成,JavaBean和表达式语言;第四篇为“数据库访问技术”,主要讲述JDBC技术及JSP和Servlet如何通过JDBC访问数据库,以及如何改进数据库...
林学良Jsp&Servlet学习笔记,html格式的,很基础的学习文档。
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...
servlet和jsp学习笔记 学习servlet和jsp时的笔记,给大家参考下,如有遗漏请大家指出!谢谢!
文档已经做了空白边裁剪处理,需要将书打印的将会很方便
很好用的书籍适合初学者!!!!里面有详细的讲解!!!!!!!