}
/**
-
提供服务的方法
-
每次Servlet被访问的时候执行,可执行多次
-
@return
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println(“Hello Servlet!”);
}
/**
-
获取Servlet信息,如作者、版本等
-
@return
*/
@Override
public String getServletInfo() {
return null;
}
/**
-
销毁方法
-
在服务器正常关闭的时候执行,执行一次
*/
@Override
public void destroy() {
System.out.println(“销毁”);
}
}
4、配置 Servlet
在 web.xml 文件里面进行配置,在根标签里面加入如下配置
oneStar
web.servlet.myServlet
oneStar
/oneStar
三、Servlet 分析
============
1、原理分析
-
当服务器接收到客户端浏览器的请求后,会解析请求的URL路径,获取访问的 Servlet 的资源路径
-
查找 web.xml 文件,看是否有对应的标签体内容
-
如果有,则再找到对应的全类名
-
Tomcat 将字节码文件加载进内存,并创建其对象
-
调用其方法
2、Servlet 中的生命周期
-
被创建:执行 init 方法,只执行一次
-
默认情况下,第一次被访问时,Servlet 被创建
-
可以配置执行 Servlet 的创建时机,可在标签中配置
-
配置第一次被访问时创建:标签配置为负数(默认为-1)
-
配置服务器启动时被创建:标签配置0或正数
-
init 方法只执行一次,说明一个 Servlet 在内存中只存在一个对象,Servlet 是单例的
-
多个用户同时访问时,可能存在线程安全问题,所以尽量不要在Servlet中定义成员变量,即使定义了也不要对值进行修改
-
提供服务:执行 server 方法,可以执行多次
-
每次访问 Servlet 时,Servlet 方法都会被调用一次
-
被销毁:执行 destory 方法,只执行一次
-
Servlet 销毁时执行,只有服务器正常关闭时,才会执行 destory 方法
四、注解配置(不用web.xml配置)
===================
在 Servlet3.0 以上的版本中,支持使用注解配置,可以不需要 web.xml 文件,在类上使用 @webServlet 注解进行配置,其实质就是配置WebServlet.class 文件里面的 urlPatterns 参数,urlPatterns 是一个 String 类型的数组,使用该数组来配置访问路径,该配置有多种方法:
-
一个 Servlet 可以定义一个访问路径:@WebServlet(“/oneStar”)
-
一个 Servlet 可以定义一个数组(多个)访问路径:@WebServlet({“/oneStar”,“/twoStar”,“/threeStar”})
-
支持多层路径:@WebServlet(“/user/oneStar”)
-
使用通配(任何目录):@WebServlet(“/*”)
-
使用通配(带后缀):@WebServlet(“*.do”)
@WebServlet(“/oneStar”)
//@WebServlet({“/oneStar”,“/twoStar”,“/threeStar”})
//@WebServlet(“/user/oneStar”)
//@WebServlet(“/*”)
//@WebServlet(“*.do”)
public class Main implements Servlet {}
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
X6j-1710839090903)]
[外链图片转存中…(img-Ir7ZQ653-1710839090904)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-DdzTqedM-1710839090904)]