浅谈Servlet使用与学习吧

Servlet浅谈:

概念:运行在服务端的程序

Servlet就是一个接口,他定义了Java类可以浏览器访问到(Tomcat识别)的规则。

下面我们先了解下servlet中的方法及其运行原理:

servlet原理:

         1.接收客户端请求,解析请求行URL信息,查找访问的servlet路径

          2.查询web.xml文件,判断是否有其队应的url-patten标签内容

          3.如果没有返回404,如果有,找到对应的类全名;

          4.然后通过反射把其对应的类加载至内存

          5.执行service方法

servlet中的方法:

          1.init()方法:表示servlet被创建

           2.servletconfig()方法;加载servletconfig对象,他是配置servlet对象的

           3.service()方法:他是用来写业务功能代码的

                  

           4.getServletinfo()方法:不是很常用到他,它是用来获取servlet版本信息的,例如:作者 版本等

           5.destroy()方法:用来销毁servlet对象的

servlet的生命周期:

          1.init()默认第一次访问时,建执行init方法,servlet被创,只执行一次。

                  或者在servlet标签中使用load-on-startup标签在web.xml中设置他的值:负数为默认执行,0或正数为服务器开启时创建

          2.serice()方法;提供服务每次访问servlet时都会执行service方法

          3.destroy()方法:先释放资源 后销毁servlet     正常关闭服务器时才能使用destroy方法  

                     (destroy方法在容器移除servlet 时执行,同样只执行一次。这个方法会在所有的线程的service()方法执行完成或者超

                  时后执行,调用这个方法后,容器不会再调用这个servlet的方法,也就是说容器不再把请求发送给这个servlet。这个

                  方法给servlet释放占用的资源的机会,通常用来执行一些清理任务。)

 

Servlet的体系结构:

         Servlet----接口

                |

         genericServlet---抽象类 将servlet接口中的其他方法做了默认空实现

                   |   只将service方法作为抽象类

          httpServlet ---抽象类 对HTTP协议的一种封装,简化操作。继承servlet

基础点完了实操来一下很简单的那种:

package com.zzh.servlet;

import javax.servlet.*;
import java.io.IOException;

public class ServletText implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        //在这里执行你要做的事情
        System.out.println("这是一个练习");
        servletResponse.getWriter().write("Holle servlet");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>servletText</servlet-name>
        <servlet-class>com.zzh.servlet.ServletText</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>servletText</servlet-name>
        <url-pattern>/erha</url-pattern>
    </servlet-mapping>
</web-app>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值