1-web发布:
1-1.静态资源发布,<welcome-file-list>标签可修改默认主页
1-2.动态资源发布
Servlet 的介绍:
Servlet是运行在Java服务器端的程序,用于接收和响应来自客户端基于HTTP协议的请求。
1-2-1.如果想要实现Servlet的功能,可以通过实现javax.servlet.Servlet接口或者继承它的实现类。
1-2-2.核心方法: service(), 任何客户端的请求都会经过该方法。
2-Servlet :
2-1.Servlet继承实现方法
1-1-2.通过继承GenericServlet和HttpServlet重写servlet+doGet、doPost方法实现Servlet。
2-2.Serclet生命周期
图片.jpg
2-3.Servlet线程安全
2-3-1.由于Servlet采用的是单例模式,也就是整个项目只能有一个实例对象,需要分析
唯一的该对象的类成员是否线程安全。
结论:一个浏览器代表一个线程,多个代表多个,每个浏览器应该查看的是自己的类成员
结果2个浏览器出现的数据混乱,因此Servlet线程是不安全的。
解决:如果类成员是共用的,并且只在初始化时赋值,其他时间都是获取,则没问题
如果不是共用的,就有考虑线程安全问题,可在doGet内设置成局部变量解决,原理(浏览器访问
进该方法局部变量就是新的变量) 非要用到成员变量,可使用synchronized (this){}方法体解决
2-4.Servlet映射方式
2-4-1.第一种:具体的方式。访问的资源路径必须和配置的映射完全相同
第二种:/开头 + 通配符的方式。只要符合目录结构即可,不用考虑结尾 (目录结构sb/*)
第三种:通配符 + 固定格式结尾。只要符合固定结尾格式就行,不用考虑前面路径。(.do)
优先级:越是具体的越高,越是模糊通用的优先级越低。第1种->2->3
2-5.Servlet多映射使用场景
2-5-1.xml配置好映射,在doGet方法内,1.设置变量金额-->2.获取访问资源路径(req.getRequestURI();
作用获取请求路径)、path.substring 作用截取 (path.lastIndexOf("/")); 作用寻找/后的路径 。
-->3.根据条件判断作出不同的操作。
2-6.Servle创建时机
2-6-1.
图片.jpg
2-7.默认Servlet
2-7.1默认 Servlet是由服务器提供的一个 Servlet。它配置在Tomcat的conf目录中的web.xml中。
它的映射路径是<url-pattern>/<url-pattem>,我们在发送请求时,
首先会在我们项目中的web.xml中查找映射配置,找到则执行。当找不到对应的Servlet路径时
就去找默认的 Servlet,由默认 Servlet处理。 所以,一切都是 Servlet。