美文网首页
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