Servlet

本文介绍了Servlet在JavaEE中的基本概念,包括如何创建和配置Servlet,其生命周期的五个阶段(初始化、Service、destroy),以及与B/S架构的关系。还讨论了URLpattern的定义和Servlet的多路径访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public accept() {

super();

// TODO Auto-generated constructor stub

}

Servlet:就是一个接口,定义了Java类被浏览器访问(tomcat识别)的规则

将来我们自己写一个类,实现Servlet接口,就可以被浏览器访问到

快速入门:

  1. 创建JavaEE项目
  2. 定义一个类,实现Servlet接口
  3. 实现接口中的抽象方法
  4. 配置servlet

servlet是连接Web服务器与服务端Java程序协议,是一种通讯规范

Servlet是servlet接口实现类的实例对象,是运行在服务器上的一段Java小程序

Servlet功能:根据客户端提交的请求,调用服务器端相关代码

Servlet生命周期:

servlet对象被创建(init):在servlet被创建时执行,只会执行一次

Servlet:默认情况下,第一次被访问时,servlet被创建

也可以指定servlet什么时候被创建

1.在配置文件里面指定servlet的创建时机

<servlet>

<servlet-name>hello</servlet-name>

<servlet-class>jia.demo</servlet-class>

<!-- 指定servlet的创建时机

1.第一次访问时,创建

<load-on-startup>的值为负数

2.在服务器启动时,创建

<load-on-startup>的值为正整数或0-->

<load-on-startup>-5</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>hello</servlet-name>

<url-pattern>/fighting1</url-pattern>

</servlet-mapping>

Servlet的init方法只执行一次,说明servlet在内存中只存在一个对象,servlet是单例的

多个用户同时访问可能存在线程安全问题

解决方法:

尽量不要再servlet中定义成员变量,可以定义局部变量

Service方法:每次servlet被访问时,都被执行。Servlet被访问几次就会执行几次

destroy:在服务器正常关闭时,执行,只会执行一次

Destroy是在servlet被销毁之前执行,用于释放资源

服务器正常关闭时,destroy被执行,服务器不是正常关闭,destroy不被执行

servletConfig对象:获取ServletConfig对象,实际上是servlet配置对象,这个方法是需要我们自己去实现的

getServletInfo:获取servlet的信息,像版本,作者等

servlet放在Javax.servlet包里

你实现接口,必须要实现接口里面的类

init:初始化

localhost:8081/first/fighting在客户端运行servlet,firs是servlet所在的项目,/fighting是web.xml里面的路径

Tomcat执行servlet原理:

  1. 当服务器端接受岛客户端浏览器的请求后,会解析请求URL路径,获取访问的servlet的资源路径
  2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容
  3. 如果有,则在找到对应的<servlet-class>全类名
  4. Tomca会将字节码文件加载进内存,并创建其对象
  5. 调用其方法

Java EE开发基于B/S:浏览器/服务器

B/S:浏览器/服务器

浏览器通过网址(请求)可以找到服务器

静态资源:所有用户访问后得到的结果都是一样的

网页前端的HTML、css、JavaScript

动态资源:动态资源第一件事是转换为静态资源,然后被浏览器解析这个操作叫响应

网络通信的三要素:

IP:计算机设备,在网络中的唯一标识

端口号:应用程序在计算机中的唯一标识

传输协议:数据传输的规则

  1. tcp:安全协议,三次握手
  2. Udp:不安全,速度快

Servlet相关配置:

  1. urlpattern:servlet的访问路径

路径的定义规则

  1. /xxx:
  2. /xxx/xxx:多层路径
  3. *.do

2.@WebServlet(asyncSupported = true, urlPatterns = { "/enen" ,"/eee"})

urlPatterns = { "/enen" ,"/eee"}指的是/enen和/eee都可以访问到这个servlet

所以从上述可得一个servlet可以定义多个访问路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值