栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Servlet

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Servlet

Selvlet
  • 概念 server applet
  • 快速入门
  • Servlet执行原理
  • Servlet的生命周期
  • Servlet_3.0注解配置
  • IDEA与tomcat的相关配置
  • Servlet 的体系结构
  • Servlet相关配置(注解)

概念 server applet

运行在服务器端的小程序

  1. Servlet 就是一个接口,定义了一个Java类被浏览器访问到(tomcat识别)的规则。
  2. 写一个Java类实现Servlet接口,复写方法.
快速入门
  1. 创建一个javaee项目
  2. 定义一个Java类实现Servlet方法
  3. 实现接口中的抽象方法
  4. 配置Servlet
    在web.xml中配置

        Servlet1
        Servlet_1
    
    
        Servlet1
        /myServlet1
    
Servlet执行原理
  1. 当服务器接受到浏览器请求时,会解析请求的URL路径,获取访问的Servlet的资源路径。
  2. 查找web.xml文件,是否有对应的< url-pattern>标签体内容;
  3. 如果有,则找到对应的< servlet-class>全类名
  4. tomcat会将字节码文件加载进内存(class,forName())
  5. 创建对象 cls.newInstance()
  6. 调用方法
Servlet的生命周期
  1. 被创建:init方法,只执行一次
    默认情况下,第一次访问服务器时,Servlet被创建。
    可以在配置文件中修改Servlet创建的时机。
    在< Servlet>标签下配置:
    第一次被访问时,创建:< load-on-startup>的值为负数
    在服务器启动时,创建:< load-on-startup>的值为负数
    init方法制备执行1次,说明Servlet在内存中只存在一个对象,Servlet是单例的。多个用户同时访问时,可能存在线程安全问题。
    解决方法:尽量不要在Servlet中定义成员变量,即使定义了成员变量,也不要修改值。尽量设为局部变量。

  2. 提供服务:service方法,可执行多次。每次访问Servlet时,service都会执行一遍。

  3. 被销毁:Destory方法,只执行一次(在服务器正常关闭时)。
    服务器关闭时,Servlet被销毁。destory在Servlet被销毁之前执行。

  4. (了解)获取Servlet配置对象,getServletConfig对象

  5. (了解)获取Servlet的一些信息,版本,作者…getServletInfo

Servlet_3.0注解配置

不需要web.xml了

  1. 创建JacaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
  2. 定义一个类,实现Servlet方法
  3. 复写方法
  4. 在类上使用@webServlet注解,进行配置(@webServlet/资源路径)
IDEA与tomcat的相关配置
  1. IDEA会为每一个tomcat部署的项目简历一份配置文件(查看控制台的log:Using CATALINA_base:" ")
  2. 工作空间项目与tomcat部署项目(tomcat真正访问的是“tomcat部署项目”,“tomcat部署项目”对应着“工作空间项目”的web目录下的所有资源。WEB-INF目录下的资源不能被浏览器直接访问)
  3. 断点调试:使用“小虫子”启动,debug启动。
Servlet 的体系结构
  1. Servlet接口
  2. GenericServlet抽象类(将Servlet接口中的其它方法做了默认空实现,支队service()做抽象,继承它时,只用实现service())
  3. HttpServlet:对http协议的一种封装,简化操作(复写doGet() doPost())
Servlet相关配置(注解)

urlpatten:Servlet访问路径

  1. 一个Servlet可以定义多个访问路径(用{“”,“”,“”}括起来)
  2. 路径定义规则:(/xxx )(/xxx/xxx多层路径,目录结构)(*.do自定义后缀名,不能加/)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353992.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号