1.回顾纯手工创建第一个Servlet
步骤:
编写一个类,继承HttpServlet
重写doGet()doPost()
编写web.xml中的Servlet映射关系
2.借助于Eclipse快速生成Servlet
直接新建Servlet即可(继承、重写、web.xml 可以 借助Eclipse自动生成)
Servlet3.0,与Servlet2.5的区别:
Servlet3.0不需要再web.xml中配置 ,但需要在Servlet类的定义处之上编写注解@WebServlet("url-pattern的值")
匹配流程:请求地址与@WebServlet中的值进行匹配,如果匹配成功,则说明 请求的就是该注解所对应的类
3.
项目根目录:WebContent、src(所有的构建路径)
例如:
WebContent中有一个文件index.jsp
src中有一个Servlet.java
如果 index.jsp中请求 <a href="abc">..</a> ,则寻找范围,既会在src根目录中找,也会在WebContent根目录中找
如果 index.jsp中请求 <a href="a/abc">..t</a> 寻找范围:现在src或WebContent中找a目录,然后再在a目录中寻找abc
web.xml中的/:代表项目根路径
http://localhost:8080/Servlet30Project/
jsp中的/:服务器根路径
http://localhost:8080/
4.Servlet生命周期:五个周期
加载
初始化:init(),该方法在Servlet被加载并实例化的以后执行
服务:service()->doGet() doPost()
销毁: destroy() Servlet被系统回收时执行
卸载
init():a.第一次访问Servlet时会被执行(只执行这一次)
b.可以修改为tomcat启动时自动执行
i.Servlet2.5:
<servlet>
...
<load-on-startup>1</load-on-startup>
</servlet>
其中“1”代表第一个。
ii:Servlet3.0:
@WebServlet(value="/WelcomeServlet",loadOnStartup=1)
service()->doGet() doPost():调用几次,则执行几次
destroy() :关闭tomcat服务时,执行一次