当前位置: 首页 > news >正文

Servlet (一)

了解Servlet

定义:运行在服务器端的小程序。本质上就是接口,定义java类被浏览器访问(tomcat识别)的规则(接口)

服务器资源分为动态资源和静态资源,资源可以被浏览器请求访问。

快速入门

(前提:下载配置jdk,java路径,配置好maven,下载配置tomcat)

1. 创建javaEE

2. 定义一个类,实现servlet接口

3. 实现接口中抽象方法

4. 配置servlet

    <!--配置servlet-->  (在web.xml)<servlet><servlet-name>demo</servlet-name><servlet-class>nuc.ss.text.Servletexpe1</servlet-class></servlet><servlet-mapping><servlet-name>demo</servlet-name><url-pattern>/demo</url-pattern></servlet-mapping>

执行原理

1. 当服务器接受客户端浏览器请求后,解析url路径,获取访问的Servlet资源路径

2. 查找 web.xml是否有<url-pattern>标签内容与url路径一致

3. 找到<servlet-class>全类名 ,即<servlet-class>nuc.ss.text.Servletexpe1</servlet-class>

4. tomcat将全类名的字节码加载进内存并创建对象

5. 调用方法

方法

生命周期

1. init初始化:在被创建时执行,只执行一次

2. servce提供服务方法:在每一次Servlet被访问时执行,执行多次

3. destroy销毁:在服务器正常关闭时执行,执行一次

4. ServletConfig获取配置对象

5. getServletInfo获取信息

生命周期详解

1.创建

        指定Servlet创建时机

        通过修改web.xml的<servlet>标签下的配置

由于只执行一次,说明Servlet在内存只存在一个对象,是单例

多个用户同时访问时存在线程安全问题,若加锁性能太差,因此尽量不要在Servlet中定义成员变量,即使定义了也不要对其修改值

<load-on-startup> -5 </load-on-startup>
值为负数:第一次被访问时创建
值为0或正整数:服务器启动时创建

2.提供服务

3.被销毁

只有服务器正常关闭时才执行destroy方法

Servlet注解

每写一个Servlet就要配置一个,若进行大型项目则选择注解方式

1. 创建java ee(7.0以上),选择Servlet版本,不创建web.xml

2. 定义一个类实现Servlet接口

3. 复写方法

4. 在类上使用 @WebServlet注解

        @WebServlet(urlPatterns='/demo')

也可以写成 @WebServlet("/demo")

IDEA与Tomcat相关配置

IDEA会给每个Tomcat部署的项目配置一份文件:

        项目启动后查看 Using CATALINA_BASE:后的文件路径

断点调试:

http://www.xdnf.cn/news/270289.html

相关文章:

  • 大数据技术:从趋势到变革的全景探索
  • Servlet+tomcat
  • 链表的回文结构题解
  • Linux 的 epoll 与 Windows 的 IOCP 详解
  • Mybatis学习(上)
  • 04 基于 STM32 的时钟展示程序
  • 《算法导论(第4版)》阅读笔记:p4-p5
  • HTML与CSS实现风车旋转图形的代码技术详解
  • Webug4.0靶场通关笔记10- 第14关链接注入
  • 深度学习助力校园学生自杀预防
  • wsl2 中使用串口
  • 【信息系统项目管理师】【论文】项目背景示例
  • 66. Java 嵌套类
  • 二叉树最近公共祖先(后序遍历,回溯算法)
  • 强化学习--4.策略梯度方法(蒙特卡罗)
  • 数字信号处理学习笔记--Chapter 0 数字信号处理概述
  • Python 部分内置函数及其用法详解
  • HTML打印设置成白色,但是打印出来的是灰色的解决方案
  • mcp+llm+rag
  • 隐藏元素的多种方式
  • TFT(薄膜晶体管)和LCD(液晶显示器)区别
  • zabbix 重置登录密码
  • 【文献阅读】全球干旱地区植被突变的普遍性和驱动因素
  • 陶瓷陶器缺陷检测VOC+YOLO格式938张2类别
  • 时间交织(TIADC)的失配误差校正处理(以4片1GSPS采样率的12bitADC交织为例讲解)
  • 64常用控件_多元素控件介绍
  • Linux中进程的属性:进程优先级
  • MySQL 分库分表
  • C++ 中 virtual 的作用
  • 基于 vue-flow 实现可视化流程图