Servlet

1.Servlet 简介

1)从广义上来讲,Servlet 规范是 Sun 公司制定的一套技术标准,包含与 Web 应用相关的
一系列接口,是 Web 应用实现方式的宏观解决方案。而具体的 Servlet 容器负责提供标准
的实现。
2)从狭义上来讲,Servlet 指的是 javax.servlet.Servlet 接口及其子接口,也可以指实现了
Servlet 接口的实现类。
3)Servlet 作为服务器端的一个组件,它的本意是“服务器端的小程序”。Servlet 的实例
对象由 Servlet 容器负责创建;Servlet 的方法由容器在特定情况下调用;Servlet 容器会在
Web 应用卸载时销毁 Servlet 对象的实例。

2.第一个 Servlet

2.1 编写 Servlet

1) 创建自己的类 HelloServlet,实现 Servlet 接口,并编写 service 方法

public class HelloServlet implements Servlet{
@Override
public void init(ServletConfig config) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
System.out.println("我是不是被执行了?");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}


2) 在 web.xml 中配置 servlet 信息

<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.atguigu.listener.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
配置详解:
<servlet></servlet>:这个之间配置的是Servlet的类信息
<servlet-name>:这是 Servlet 的别名,一个名字对应一个 Servlet。相当于变量名
<servlet-class>:Servlet 的全类名,服务器会根据全类名找到这个 Servlet
<servlet-mapping></servlet-mapping>:这个之间配置的是 Servlet 的请求映射信息
<servlet-name>:Servlet的别名,说明这个Servlet将会响应下面url-pattern的请求
<url-pattern>:Servlet响应的请求路径。如果访问这个路径,这个Servlet就会响应。这个
url-pattern可以配置多个,这时表示的就是访问这些url都会触发这个Servlet进行响应


3) 运行浏览器,访问刚才配置的 url 路径,Servlet 的 service 方法就会被调用

2.2 运行原理:

 3.Servlet 技术体系


3.1 Servlet 的层次关系

3.3 Servlet 接口

3.4  GenericServlet 抽象类

 1) Servlet,ServletConfig 的实现类。里面可以实现 Servlet 的功能,可以获取
ServletConfig 的信息
2)String getInitParameter(String name):获取 Servlet 初始化参数值,初始化参数在
web.xml 的 Servlet 中 配 置 , <init-param><param-name>user</param-name>
<param-value>abc</param-value><init-param/>
3)Enumeration<String> getInitParameterNames():获取 Servlet 初始化的所有参数 name

4)ServletConfig getServletConfig():获取 ServletConfig 对象
5)ServletContext getServletContext():获取 ServletContext 对象
6)String getServletInfo():获取 Servlet 的描述信息
7)void init(ServletConfig config):从 Servlet 实现的 init 方法,这里面调用了自己的 init
方法
8)void init():自己的 init 方法
9)abstract void service:抽象方法,继承此类的子类必须自己实现此方法。每次请求
都会调用此方法
10)String getServletName():获取 Servlet 的名字 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小道士写程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值