黑马程序员 09 Servlet 学习笔记 03 HttpServlet

                                                              ------- android培训java培训、期待与您交流! --------

Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: 2013-01-13T01:02:06+08:00

====== Servlet 03 HttpServlet ======
Created Sunday 13 January 2013

HttpServlet
继承HttpServlet 实现servlet 开发
1. 再httpservlet中,设计者对 get 和 post 提交分别处理;
2. 继承HttpServlet, 实现doGet()  doPost()方法;
3. doGet()  和 doPost() 最终也去调用了servlet接口的 service() 方法 ;

get提交 和 post提交的区别
1. URL地址栏
2. 提交内容大小的不同<建议get< 2kb,post<64kb >
3. 从请求响应速度来看 : get > post get要求服务器立即响应 post则会创建一个响应队列;

Servlet的一些细节<一>
1. 客户端是通过WEB服务器的资源,所以servlet必须要再web.xml中指定URL地址
2. 当映射一个servlet的时候,可以多层 ;
3. servlet映射到的URL中可以使用*通配符
3.1 第一种格式 *.扩展名    比如 *.do 
3.2 第二种格式 [[/*]] 
4. servlet的单例问题
4.1 当servlet被第一次访问后 就被加载进内存 以后该实例对各个请求服务 即在使用中是单例的;
4.2 因为servlet是单例 因此会出现线程安全问题,比如:售票系统
4.3 简单的解决方法 synchronized (this){}<同步机制>
4.4 解决单例的原则:
4.4.1 如果一个变量需要多个用户共享,则应当在访问该变量的时候,加同步机制 synchronzed (对象){}
4.4.2 如果该变量不需要多个用户共享 ,则直接在doGet() 里定义
5. servlet 中的 load-on-startup 配置
需求:当我们的网站启动的时候,可能会要求初始化一些数据<例如定时发送邮件,定时备份数据>
通过配置 load-on-startup 可以自动创建servlet
//完成一些初始化的任务 例如:创建数据库,表,读取参数
<servlet>
<load-on-startup>1</load-on-startup>
</servlet>
1表示该servlet的启动优先级

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值