Servlet

Servlet

Servlet是一个用于扩展服务器端功能的服务器端组件技术

  • 运行在服务器端,所以调用执行是由服务器负责——在web.xml中需要进行配置,就是将servlet和一个请求地址建立对应关系,当浏览器对地址 发起请求时,服务器则按照规则调用serlvet类中的方法
  • 服务器端的组件技术 ——直接或者间接的实现Servlet接口
  • 用于扩展服务器端功能,可以实现动态网页的开发

Servlet接口

1、定义类实现Servlet接口 

public class HelloServlet implements Servlet {
//在Servlet类实例化后自动执行的方法,这个方法在servlet对象的整个生命周期中运行且只运
行一次。主要用于实现Servlet的初始化操作,例如读取配置文件中当前Servlet的初始化配置信息。
当服务器调用该方法时会将当前servlet的初始化配置存储在cnfig对象中
    public void init(ServletConfig config) throws ServletException {
        this.config=config; //缓存config对象
    }
//用于供其它位置获取config对象时进行调用
    private ServletConfig config;
    public ServletConfig getServletConfig() {
        return config;
    }
//在init方法执行后,服务器调用service方法用于生成针对客户端的响应信息。服务器采用多
线程的方式运行service方法,一个客户端请求对应一个线程。服务器调用service方法时会传入2个参
数对象,req用于封装客户端的请求信息,resp用于封装服务器的响应信息。Servlet默认采用单实例
多线程的方式对客户端浏览器请求提供服务,service执行完成后不会自动销毁,而是常驻内存
    public void service(ServletRequest req, ServletResponse resp) throws
ServletException, IOException {
}
//一般供获取当前servlet对象的说明信息
    public String getServletInfo() {
        return "当前servlet对象的说明信息";
    }
//在servlet对象销毁之前执行,用于进行资源回收。一个servlet对象在整个生命周期运行且只
运行一次。servlet对象默认是常驻内存,只有在服务器关闭或者内存严重不足而当前Servlet对象被
GC机制选中时才会被销毁
    public void destroy() {
    }
}

2、在web.xml中针对servlet类进行配置,将servlet和一个或者多个地址建立对应关系

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id="WebApp_ID" version="4.0"> xml文件头用于说明当前xml文件的语法规则
<servlet> 将servlet类和一个名称建立对应关系
<servlet-name>hello</servlet-name>
<servlet-class>com.yan.action.HelloServlet</servlet-class>
</servlet>
<servlet-mapping> 将一个servlet名称和请求地址建立对应关系
<servlet-name>hello</servlet-name>
<url-pattern>/hello.do</url-pattern>
</servlet-mapping>
</web-app>

servlet三生命周期

  • init 只运行一次
  • service 单实例多线程的方式对外提供服务 常驻内存
  • detroy

Servlet开发 

  • 直接实现Servlet接口
  • 抽象类GenericServlet用于非标准协议开发,例如游戏的服务器端
  • 抽象类HttpServlet是GenericServlet的子类,用于http协议应用开发,例如网站 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值