建站排行榜有哪些站内推广的方式
web/
2025/10/4 12:28:12/
文章来源:
建站排行榜,有哪些站内推广的方式,网站首页布局设计教程,在深圳如何注册公司文章目录基本介绍入门步骤执行原理Servlet 生命周期线程安全问题解决方式Servlet 注解配置Servlet 继承与实现体系基本介绍
servlet#xff0c;server applet#xff0c;服务器端小程序
servlet 是一个接口#xff0c;定义了 Java 类被浏览器访问#xff08;tomcat 识别server applet服务器端小程序
servlet 是一个接口定义了 Java 类被浏览器访问tomcat 识别的规则。
我们需要自己定义一个类实现 Servlet 接口。
入门步骤
1.创建 JavaEE 项目
2.定义一个类实现 Servlet 接口或者继承自 GenericServlet 或者 HttpServlet
public class ServletDemo01 implements Servlet # 实现多个方法
public class ServletDemo01 extends GenericServlet # 实现service方法
public class ServletDemo01 extends HttpServlet # 覆盖重写doGet和doPost方法3.实现接口中的抽象方法
4.配置 Servlet 在 web.xml 文件中配置如下
servletservlet-namedemo01/servlet-nameservlet-classpriv.lwx.javaex.web.servlet.ServletDemo01/servlet-class
/servlet
servlet-mappingservlet-namedemo01/servlet-nameurl-pattern/demo01/url-pattern
/servlet-mapping执行原理
1.当服务器 tomcat 接受到客户端浏览器的请求后会解析请求 URL 路径获取访问的 Servlet 的资源路径 2.解析 web.xml 文件查找是否有对应的 url-pattern 3.如果有则找到对应的 servlet-class 标签从而找到 Servlet 的全类名 4.tomcat 会将 Servlet 类的字节码文件加载进内存再通过反射机制创建 Servlet 类的实例对象 5.最后会调用有关的方法
Servlet 生命周期
1.Servlet 被创建执行 init 方法只执行一次
在 web.xml 文件中的 servlet 标签下通过 load-on-startup 标签配置自然数值可以在服务器启动时创建 Servlet 实例值越小优先级越高服务器会按从小到大的顺序创建 Servlet 实例。负数则表示第一次访问 Servlet 时创建实例默认值是 -1。
Servlet 的 init 方法只执行一次说明一个 Servlet 在内存中只存在一个对象 Servlet 是单例的。
多个用户同时访问时可能存在线程安全问题。
2.提供服务执行 service 方法每次访问都会执行一次
3.被销毁执行 destroy 方法tomcat 正常关闭时执行一次。 服务器关闭时 Servlet 被销毁在销毁 Servlet 前会执行一次 destroy 方法用于释放资源。
线程安全问题
Servlet 线程安全问题产生的原因 在默认情况下容器只会为每一个 Servlet 类创建唯一的一个实例当有多个请求到达容器就有可能有多个线程同时访问同一个实例。
解决方式
1.加锁可以对整个 service 方法加锁或者对代码块加锁建议使用代码块加锁 2.让 Servlet 实现 SingleThreadModle 接口不建议使用 SingleThreadModel 接口是一个标识接口没有定义任何的方法。容器会为实现该接口的 Servlet 创建多个实例即一个线程分配一个。这种方式创建了过多的 Servlet 实例系统开销太多不建议使用 3.尽量不要在 Servlet 中定义成员变量。如果一定要定义成员变量则尽量设置成可读的不要去修改
Servlet 注解配置
Servlet 3.0 及以上版本支持注解配置可以不需要 web.xml。
步骤 1.创建 Java EE 项目选择 Servlet 的版本 3.0 及以上可以不创建 web.xml 2.定义一个实现 Servlet 接口的类 3.实现抽象方法 4.在类上使用 WebServlet 注解进行配置 WebServlet(urlPatterns 资源路径) WebServlet(value 资源路径) WebServlet(资源路径)
以上三种方式都行推荐最后一种方式。
资源路径的格式 1./xxx 2./xxx/xxx 3.*.do WebServlet(*.do)
Servlet 继承与实现体系 HttpServlet 类对 http 协议进行了封装简化操作。 自定义 Servlet 类时通常是去继承抽象类 HttpServlet重写 doGet 和 doPost 方法。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86774.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!