简单Servlet

来源:互联网 发布:淘宝怎么删掉主页的 编辑:程序博客网 时间:2024/05/17 12:25

首先,Servlet是什么?Servlet 是在服务器上运行的小程序。它用来处理http访问。

在Servlet中有五个主要方法,分别是:

1、 init() 方法(Servlet初始化时调用的方法)

2、Service() 方法

service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet() 。Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。

3、doGet() 方法

当一个客户通过 HTML 表单发出一个 HTTP GET 请求或直接请求一个 URL 时,doGet() 方法被调用。与 GET 请求相关的参数添加到 URL 的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用 doGet() 方法。

4、doPost() 方法

当一个客户通过 HTML 表单发出一个 HTTP POST 请求时,doPost() 方法被调用。与 POST 请求相关的参数作为一个单独的 HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用 doPost() 方法。

5、destroy() 方法

destroy() 方法仅执行一次,即在服务器停止且卸装 Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在文件中。另一个示例是关闭数据库连接。


事实上,我们在编写Servlet的时候只需要实现其doPost()方法就可以,让doGet()方法来调用doPost()方法。

下面举一个简单的例子:

需要的环境及软件:MyEclipse或者J2EE的EclipseTomcat

需要在MyEclipse中配置Tomcat,菜单->window->preferences->MyEclipse->servers->Tomcat->Tomcat版本->选择Tomcat安装路径。如图。


1、首先在MyEclipse中新建一个Web Project (ServletDemo)。

2、在src中新建一个Servlet(servlet包MyServlet类),当然也可以自己写一个类来继承HttpServlet,不过这样写的话就需要在web.xml中配置这个Servlet了。

3、然后删除doGet()中的内容,在里面调用doPost()方法。

4、在doPost()中使用PrintWriter对象(使用response.getWriter()方法来获取)打印一句话。

5、右键启动项目->选择server application,出现Server startup则表示启动成功,如图。


6、在浏览器中输入web项目的地址,

http://localhost:8080/MyFirstServlet/servlet/MyServlet点击访问。

7、然后你就可以在网页中看到你在Servlet doPost()方法中输出的那句话了,很简单。

8、如果想要传递参数呢?像这样就行:http://localhost:8080/MyFirstServlet/servlet/MyServlet?username=admin&password=admin

如何在Servlet中获取参数?使用request.getParameter("username"),request.getParameter("password")即可。

9、然而,这到底有什么用。。。你可以使用Web项目当做android程序的服务器,通过Servlet连接数据库,写出网络版的App

0 0