美文网首页
java web中的servlet

java web中的servlet

作者: 顾四秋 | 来源:发表于2017-10-30 17:19 被阅读0次

    一、什么是Servlet?

        从大和小的两个方面来说,大的就是它是一个在Web中生成动态内容的标准,即是用于开发Web应用程序的基本技术;从小的方面来说它是Java提供的一个接口Servlet,我们也把实现这个接口的类称为Servlet。它和CGI相对,但是它不向CGI一样每次接受一个Http请求都会创建一个进程(想想Chrome),它每次执行完它的第一个请求之后都会驻留在内存中,等待后续的请求。 

      小的就是一个Servlet应用包过很多个Servlet,而Servlet有运行在Servlet容器中,那什么是Servlet容器啊,在我的理解就是实现Servlet的规范然后暴露出了一些可以让我们写逻辑运行代码的接口,所以每个Servlet类都要实现Servlet接口,它能够生成动态的内容,不向Web服务器一样,只是提供静态资源。更细节的内容看如下的相关文章。Servlet容器将用户的请求传给Servlet应用程序,并将Servlet应用程序的响应回传给用户。比较流行的Servlet容器有Tomcat和Jetty。这两个本质上是Servlet容器 ,而不是Web服务器,但是它们把Web服务器要做的工作也集成到容器中了,所以不需要额外的Web服务器。

    二、Servlet的API

    我使用的是Servlet的3.1.0版本,有4个Java包:javax.servlet和javax.servlet.http和javax.servlet.annotation和javax.servlet.descriptor

    Servlet最核心的技术当然是Servlet接口,它提供与Servlet相关的方法,每个自定义的类都要实现此接口,在这个接口中写出了Servlet是怎么被Servlet容器调用的。

    public class TextServlet implements Servlet {

    privatetransientServletConfig servletConfig;

    public void init(ServletConfig config) throws ServletException {

    this.servletConfig = config;

    System.out.println("我只是一开始启动的时候才会被调用哦");

    }

    public Servlet Config getServletConfig() {

    return servletConfig;

    }

    public void service(ServletRequest req, ServletResponse res)throwsServletException, IOException {

    System.out.println("快来编写你的业务逻辑吧");

       }

    public String getServletInfo() {

    returnthis.servletConfig.getServletName();

         }

    public void destroy() {

    System.out.println("我要销毁啦");

        }

    }

    当然了web应用嘛,除了应用我们还要想办法去访问到我的Servlet,访问推荐两种方法,1:通过注解的方法访问

    @webServlet(name="textServlet"  urlpatterns="/textServlet" )

    public class TextServlet implements Servlet {}

    第二种方法:通过web.xml配置文件来配置

    <servlet>

         <servlet-name>textServlet</servlet-name>

        <servlet-class>om.javaservlet.servlet.TestServlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>textServlet</servlet-name>

        <url-pettern>/textServlet<url-pettern>

    </servlet-mapping>

    *注意在配置url-pettern是可以给一个Servlet配置多个url,也就是说可以通过多个URL访问一个servlet

    Servlet的三个方法的生命周期(常用)

    1、init:刚启动Servlet容器时不会调用这个方法,当第一次请求来的时候才会调用该方法

    2、service:请求过来后执行的核心业务逻辑

    3、destroy:销毁Servlet的时候,Servlet容器自己会调用这个方法

    相关文章

      网友评论

          本文标题:java web中的servlet

          本文链接:https://www.haomeiwen.com/subject/pifmpxtx.html