不能保证正确
1,JDK
2,直接建servlet;
3,更改后需不需要重新发布?Java需要重新发布;xml需要;
4,web服务器被多个用户访问;被多线程访问,处理并发的请求并同步访问同一个资源;
-------------------------------------
web.xml
<servlet>
<servlet-name>
<servlet-class>
<servlet-mapping>
<servlet-name>
<url-pattern>/xxx(外界访问的名称)
同一个servlet可以被映射到多个url上,即可以有多个<servlet-mapping>
通配符两种格式:1,*.扩展名;/*结尾;
2,*.do;
多个servlet映射到同一个地址的优先级问题:
谁长的像,/优先级高;
用途:
servlet中<load-on-startup>服务器启动时就将response对象创建(一般是第一次请求时创建)
,对象创建执行init方法,可以将框架写在init方法中,启动服务器框架就启动了;
为web应用写一个InitServlet,这个servlet配置为启动时装载,为整个web应用创建必要的数据库表和数据;
仅/,缺省servlet;错误也是调用缺省;静态HTML和文件也是调用缺省(1.html);
------------------------------------------
线程安全:
多线程并发访问一个方法,方法内变量和数据没有线程安全问题,每个线程都有自己的数据;
操作同一资源有线程安全问题,如何解决?
资源;全局变量,集合,文件;
synchronized(this){
异常处理:子类不能抛比父类更多的异常;
}
(java中每个对象都有一把锁,锁旗标,变成单线程)
会出现等待,访问低效;
*假如某个servlet实现了SingleThreadModel(标记)接口,那么servlet引擎将以单线程模式来调用其service方法;
-----------------------------------
-----------------------------------
servlet调用过程
1,ie发送http://localhost:8080/day05/xxx,连接web服务器;
2,发送http请求(学习请求头,基本信息);
3,web服务器解析出客户端想访问的主机;
4,解析出客户机想访问的web应用;
5,解析出客户机想访问的web资源;
6,如果发现servlet是第一次访问,服务器加载servlet,创建servlet对象;
7,调用servlet的init方法;
8,调用servlet的service方法,创建request和respond对象,执行代码;
9,servise方法执行,把数据写到response;
10,web服务器取出response数据回送给ie;
*init,destory只在第一次对象创建时执行,然后就驻留在内存中,为其他请求而服务,
优化性能,服务器停掉或web应用移除;
*alt+shift+s;
问题:
1,没有导入j2ee的jar包;
2,class path;
3,文件的压缩;
4.导入源码args,源码以src结尾;
5,销毁数据写什么?