servlet简介

简介:servlet是三大组件之一(Servlet、Listener、Filter),作用是处理请求,服务器会把接受到请求交给Servlet来处理。
Servlet中通常要做的是接受请求,处理请求,完成响应。
Servlet要由我们自己来编写,并且实现javax.servlet.Servlet接口。
实现Servlet的三种方式

l 实现javax.servlet.Servlet接口;
2 继承javax.servlet.GenericServlet类;
3 继承javax.servlet.http.HttpServlet类;

Servlet的生命周期:
init(servletConfig):出生时(只被调用一次)
service(ServletRequest,ServletResponse)(工作时,被调用0-N次)。
destory()死亡时被调用一次
Servlet中的大多数方法不需要我们来调用,而是有tomat来做调用的。
public interface Servlet {
public void init(ServletConfig config) throws ServletException;
public ServletConfig getServletConfig();
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException;
public String getServletInfo();
public void destroy();
}

public interface Servlet {
    public void init(ServletConfig config) throws ServletException;
    public ServletConfig getServletConfig();
    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException;
    public String getServletInfo();
    public void destroy();
}

上面我们对servlet有了一个大致的了解,接下来我们搞一个HelloWorld,具体项目创建略过。
完成servlet需要分为两步:

  1. 编写servlet类
  2. 在web.xml中配置servlet
public class HelloServlet implements Servlet {
    public void init(ServletConfig config) throws ServletException {}
    public ServletConfig getServletConfig() {return null;}
    public void destroy() {}
    public String getServletInfo() {return null;}

    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException {
        System.out.println("hello servlet!");
    }
}______继承Servlet 类来实现的。

我现在只关心service方法
web.xml中的配置

<servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>cn.han.servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/helloworld</url-pattern>
    </servlet-mapping> 

在web.xml中配置的目的就是为了把访问路径与哪一个servlet绑定到一起,上面是把/helloworld路径与”cn.han.servlet.HelloServlet”绑定到一起。
指定HelloServlet这个Servlet的名字为hello
:指定/helloworld这个路径要访问的servlet是hello
这样和关联到一起。
接下来,我们编译HelloServlet,注意,编译HelloServlet时需要导入servlet-api.jar,因为Servlet.class等类都在servlet-api.jar中。
javac -classpath F:/tomcat6/lib/servlet-api.jar -d . HelloServlet.java
然后把HelloServlet.class放到/helloworld/WEB-INF/classes/目录下,然后启动Tomcat,在浏览器中访问:http://localhost:8080/helloservlet/helloworld即可在控制台上看到输出!

Servlet接口
1、servlet的生命周期
1.1、servlet的出生
服务器会在第一次调用servlet的时候,或者在服务器启动的时候来创建servlet。默认情况下是第一次调用时创建,要想在服务器启动时就创建需要在web.xml中配置。
而且一个servlet类型,服务器只创建一个实例。在servlet被创建后,立马执行servlet的 void init(ServletConfig)方法。注意:这个方法只会在创建后调用一次。
1.2、Servlet的服务
void service()方法,每次请求都会调用一次。所以在这个方法里我们写处理请求的代码。
1.3、Servlet的离去
Servlet是不会轻易离去的,只有关闭服务器的时候Servlet才会被销毁,在销毁之前会调用destroy()方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值