Java web 笔记servlet

什么是servlet?

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

servlet生命周期

生命周期:
一段代码从初始化到最后的结束
(1) init() 方法
init() 方法是在创建 Servlet 对象时被调用,而且只能被调用一次,用于 Servlet 对象在整个生命周期内的唯一一次初始化。只有在 init() 方法调用成功后,Servlet 才会处于服务状态,才能够去处理客户端的请求。
(2) service() 方法
service() 方法是 Servlet 工作的核心方法。当客户端请求访问 Servlet 时,Servlet 容器就会调用 service() 方法去处理来自客户端的请求,并把处理后的响应返回给客户端。
(3) destroy() 方法
destory() 方法是 Servlet 容器回收 Servlet 对象之前调用的,且只会调用一次,而此时的服务器处于停止状态或者访问资源已经被移除。
在这里插入图片描述

继承和实现关系

继承HttpServlet
重写父类的方法
1.doGet()
doGet方法只能提交256个字符(1024字节),而doPost没有限制,因为get方式数据的传输载体是URL(提交方式能form,也能任意的URL链接),而POST是HTTP头键值对(只能以form方式提交)。通常我们使用的都是doPost方法,你只要在servlet中让这两个方法互相调用就行了,例如在doGet方法中这样写

@Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req,resp);
    }

2.doPost()

它用于客户端把数据传送到服务器端,也会有副作用。但好处是可以隐藏传送给服务器的任何数据。Post适合发送大量的数据

@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    this.doPost(req,resp);
    }

实现接口

public class testServlet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
       //init()初始化servlet,它是servlet的生命周期方法,由web容器调用一次。 
    }

    @Override
    public ServletConfig getServletConfig() {
    	//在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和ServletContext对象
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
	//为传入的请求提供响应。它由Web容器的每个请求调用
    }

    @Override
    public String getServletInfo() {
    	//返回有关servlet的信息,如作者,版权,版本等
        return null;
    }

    @Override
    public void destroy() {
	//仅被调用一次,并且表明servlet正在被销毁
    }

第一次写博客多多见谅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值