之前猫哥分别讲了开发环境介绍、网页篇、Java篇。其中网页篇说的是如何实现一个静态的网页(所谓静态就是内容不变的网页),Java篇讲了一种编程语言如何运作,OK,Servlet篇就是讲如何利用Java语言生成动态的网页。
OK,那么什么是Servlet呢,其实Servlet就是一个Java类。我们知道,Java中有ArrayList类可以保存一系列元素,有Exception类负责处理异常,有Connection类负责处理数据库连接。那么Java中的HttpServlet类就是负责处理http请求的。大哥,http请求不高深,就是向网址抛出的请求。举个栗子:
在浏览器输入www.baidu.com,然后回车。浏览器就向百度所在服务器发出http请求。此时服务器就得处理这个请求,处理完了之后返回html格式的处理结果。如果我们是自己编写的一个网站,用户使用浏览器请求我们这个网站,我们网站Servlet就是负责处理用户请求的。
OK,刚刚提到的关键字是HttpServlet,而本篇的主题是Servlet,有啥区别呢。其实就像之前演示的Exception和自定义Exception一个意思。HttpServlet是具有处理http请求功能的基类,我们实际工作中需要处理各种各样的请求,所以要自定义Servlet,既然都是处理Http请求,不用我们自己每次都去写这部分,Java语言都帮我们弄好了,我们只需要继承HttpServlet类就具备处理http请求的功能啦。然后加上我们自己的逻辑,就能响应客户端的请求,针对不同的请求输出不同的内容。这就是动态网页的意义,客户请求不同,得到的网页是不同的。再举个栗子:
客户在百度输入不同的关键字,得到不同的结果,就是服务端跟对不同的请求处理返回的不同结果。当然Servlet只是服务端技术的一种,但是Java把它做的非常简单易懂好用。
扯了这么多,无非就是讲了2点:
HttpServlet是Java帮我们封装好的现成的可以处理http请求的类
我们自定义的类可以通过继承HttpServlet类处理http请求,当然自定义类可以加上自己的程序代码以处理用户不同的请求。
OK,那么Servlet到底咋用,咋处理请求的,咋返回结果的,咋继承。这些,且听下回分解。