Servlet是什么:手把手教你实现一个servlet

  刚刚接触Java web的朋友肯定会碰到Servlet,那么到底什么是servlet呢?一言蔽之:

      在服务器端,处理来自客户端(浏览器)的请求以及响应是由Servlet来实现的。

  怎么理解这句话呢?这就涉及到我们平时浏览网页背后的原理了。每当我们浏览一个网页时,在网页点击一些按钮时等实际上都是在向网站的服务器发出一个个请求,服务器在收到请求后,经过一系列的业务处理后便向客户端发出响应,客户端得到来自服务器的响应后,将新信息展示出来。而在服务器端,处理请求和做出响应这一系列动作就是由Servlet完成的。

  也许你会问,网络涉及的东西那么多,编写一个servlet一定很难吧?实际上,我们的ide(ecilipse或者IDEA)已经为我们实现了很多细节上的东西,让我们在编写servlet时注意力集中在业务处理上了。总的来说,包括以下三个步骤:

      (1)编写servlet类

      (2)<servlet>的配置

      (3)<servlet-mapping>的配置

  

  一、编写servlet类

  首先,我们在ide上新建web project项目,接着我们跟着向导新建一个servlet类。也许有人会问:怎么编写一个servlet类?难道随便编写一个类就是servlet类了?

  实际上是这样的,编写一个类,只有它实现Servlet接口,它就是一个servlet类了。当然,Servlet接口里的方法万万千,一个个去重写那不得累死,这时候就提到一个类了,那就是JDK中javax.servlet.http包中的HttpServlet类,这个类已经实现了Servlet接口中的绝大部分方法了,我们只要将我们新建的类继承HttpServlet类并覆盖需要的方法就行了,一般只覆盖doGet( )和doPost( )方法。

  我们知道,http请求有好几种方式,其中最常用的就是GET和POST。当客户端(浏览器)以***(GET或POST)方式访问服务器时,服务器会调动对应的Servlet来处理,然后Servlet会调用对应的do***( HttpServletRequest request,HttpServletResponse response)方法来处理。观察这个方法的参数,有request对象和response对象。在重写do***()方法时,我们可以从request对象中获得浏览器发送给服务器的信息,接着将要发送给浏览器的信息写到response对象中,这样在servlet执行完do***()方法后,就会把response对象“发送”给浏览器。

  说了这么多,实际上编写servlet类的步骤就是:新建一个类,使其实现Servlet接口(可通过继承HttpServlet实现),重写doGet()和doPost()方法。

  二&三、配置<servlet>以及<servlet-mapping>

  这里就稍微提一下理清思路,详细的话还是翻书吧。在我们编写完servlet类后,我们还要完成它的配置。那么在哪配置呢?在/WEB-INF/web.xml文件中配置。这个文件是web程序中最主要的配置文件。

  <servlet>和</servlet>标签是配置<servlet>的起始和结束标签。中间部分的<servlet-name>和<servlet-class>是必须要配置的项目。<servlet-name>配置servlet类名,<servlet-class>配置servlet包名。如下图:

  <servlet-mapping>的配置的作用则是配置servlet的访问路径,如下图:

 

猜你喜欢

转载自www.cnblogs.com/sureyet/p/10507046.html