首页 理论教育Servlet实现HelloWorld

Servlet实现HelloWorld

【摘要】:例2.1:Servlet 版的“Hello World”。图2.2填写包名包建立好之后,就在此包中建立Servlet 类。图2.4填写Servlet 信息单击“Next > Next >”按钮,将显示如图2.5 所示的窗体。HelloWorldServlet 类的代码如下:从HelloWorldServlet 类的代码可以看出,Servlet 继承了HttpServlet 类。HttpServlet 类用于创建一个适用于Web 站点并支持HTTP 协议的Servlet。表2.1HttpServlet 类的常用方法在HelloWorldServlet 类中,默认重写了HttpServlet 类中的doGet()、doPost()以及init()和destory()等方法。要通过Servlet 输出“Hello World”也需要使用输出流对象的println()或者print()方法。图2.7第一个Servlet 程序运行效果

下面来建立一个简单的Servlet 应用程序。

例2.1:Servlet 版的“Hello World”。

首先需要建立一个Web 项目,取名为“first_servlet”。这里所说的建立一个Servlet 应用程序,并不是建立一个Servlet 类型的项目,因为这样的项目类型并没有,而Servlet 其实就是一个Java 类而已。

对于Java 类,一般需要将其放于某个包中,所以建立一个包用于存放本应用程序的Servlet 类。在Eclipse 中建立Package,如图2.1 所示,选中src 文件夹,单击右键选择“New”➔“Package”。

图2.1 建立Package

弹出“New Java Package”窗体,如图2.2 所示。或者在工具栏中单击包图标也可以快捷弹出建立Package 的窗体。在该窗体中输入包名“com.servlet”,而Source folder(源代码文件夹)默认就填写好了。然后单击“Finish”完成包的建立。

图2.2 填写包名

包建立好之后,就在此包中建立Servlet 类。如图2.3 所示,选中刚建立的包,然后单击右键弹出菜单,选择“New”➔“Servlet”。

图2.3 选择建立Servlet 类

在弹出的新建Servlet 窗体中填写Servlet 类名,而源代码文件夹、包名等IDE 都已提供了默认值,如图2.4 所示。

图2.4 填写Servlet 信息

单击“Next > Next >”按钮,将显示如图2.5 所示的窗体。

图2.5 设置Servlet 在web.xml 中的配置信息

单击“Finish”按钮之后,在包资源管理器中可以看到刚建立的Servlet 类,如图2.6所示。(www.chuimin.cn)

图2.6 包资源管理器视图

可以看出建立Servlet 应用程序主要就是建立的Java 类。

HelloWorldServlet 类的代码如下:

从HelloWorldServlet 类的代码可以看出,Servlet 继承了HttpServlet 类。HttpServlet 类是一个抽象类,扩展了GenericServlet 类。HttpServlet 类用于创建一个适用于Web 站点并支持HTTP 协议的Servlet。一个HttpServlet 的子类应该至少重写表2.1 方法中的一个。

表2.1 HttpServlet 类的常用方法

在HelloWorldServlet 类中,默认重写了HttpServlet 类中的doGet()、doPost()以及init()和destory()等方法。在doGet()和doPost()方法中,首先通过调用HttpServletResponse 类中的getWriter()方法得到一个PrintWriter 类型的输出流对象out,然后调用out 对象的println()方法或者print()向客户端发送字符串,最后关闭out 对象。要通过Servlet 输出“Hello World”也需要使用输出流对象的println()或者print()方法。

若对GET 和POST 请求只作相同处理,可以只编写一个方法的代码实现,然后在另外一个方法中调用已实现的方法。例如将HelloWorldServlet 中的doGet()方法和doPost()方法的实现作如下更改。

启动Tomcat 服务器并打开浏览器,在浏览器中输入以下地址

程序运行效果如图2.7 所示。

图2.7 第一个Servlet 程序运行效果