Servlet开发基础

Servlet开发基础
Servlet开发是Java Web开发中一个重要的部分。本章将详细介绍Servlet的生命周期,还将介绍HttpServlet的常用方法以及Servlet的常用接口等等内容。
通过本章的学习,读者应该能够完成如下几个目标。
熟练掌握如何定义Servlet
理解Servlet的生命周期
熟练掌握HttpServlet的常用方法
熟练掌握使用Servlet的常用的接口

1.1 Servlet简介
  Servlet是由Sun公司于1997年提出的,其采用Java代码直接编写,通过CGI的方式与Web Server进行沟通。
目前Servlet API的最新版本为2.5,它同样具有Java程序的跨平台特性。Servlet包含如下四个优点。
(1)跨平台,可移植性。
(2)功能强大。
(3)性能好。
(4)安全性强。
Servlet虽然具有如此多的优点,但是其并没有大规模的被采用,最大的原因在于其编写起来非常困难。因为编写Servlet必须要有完整的Java程序设计技巧,而其网页的显示部分和功能部分混合在一起,不易于维护与分工。
不过Servlet的发展为后面JSP的诞生和发展打下了牢固的基础,而且JSP也是通过转译成Servlet后才能执行的。

1.2 第一个Servlet程序
     Servlet其实就是一个Java类,所以其创建方法和创建Java类完全相同。
所有的Servlet类都必须继承HttpServlet类。

08 public class ServletDemo01 extends HttpServlet {
09 public void doGet(HttpServletRequest request, HttpServletResponse response)
10 throws ServletException, IOException {
11 //获得输出流out
12 PrintWriter out = response.getWriter();
13 //输出到网页上
14 out.println("This is my first Servlet Application!");
15 }
16 }

1.3 Servlet生命周期
     Servlet也是一个普通的Java类,所以其一样具有生命周期。Servlet从生成到销毁必须进过如下几个步骤。
(1)生成Servlet,加载到Servlet Engine中,并通过调用其init()方法来进行初始化。
(2)通过提供的响应方法来处理客户端的请求。
(3)调用destroy()方法进行销毁,并通过垃圾收集器进行收集清理。

2 HttpServlet常用方法
     HttpServlet接口包含非常多的方法,这些方法除了init()和destroy()方法用来处理Servlet初始化和销毁。还包括一些常用方法,如doGet方法、doPost方法以及Service方法等等。

2.1 doGet方法
doGet方法用来处理客户端浏览器直接访问和表单get方式提交的表单。

07 <%--表单,提交方式为get-,提交到DoGetDemo--%>
08 <form action="DoGetDemo" method="get">
09 用户名:<input type="text" name="username"/><br>
10 密码:<input type="password" name="password"/><br>
11 <input type="submit" value="提交"/>
12 <input type="reset" value="重置"/>
13 </form>

2.2 doPost方法
  doPost方法用来处理表单post方式提交的表单,不能处理客户端浏览器直接访问。

08 <form action="DoPostDemo" method="post">
09 用户名:<input type="text" name="username"/><br>
10 密码:<input type="password" name="password"/><br>
11 <input type="submit" value="提交"/>
12 <input type="reset" value="重置"/>
13 </form>

2.3 service方法
       service方法用来处理客户端浏览器直接访问和表单get方式提交的表单以及表单post方式提交的表单。

08 <form action="ServiceDemo" method="post">
09 用户名:<input type="text" name="username"/><br>
10 密码:<input type="password" name="password"/><br>
11 <input type="submit" value="提交"/>
12 <input type="reset" value="重置"/>
13 </form>

3 Servlet常用接口
      Servlet中包含大量的接口,这些接口的应用和JSP中内置对象的应用非常类似。如Servlet中的HttpServletRequest接口和JSP内置对象的request对象。Servlet中的HttpServletResponse接口和JSP内置对象的response对象。

3.1 HttpServletRequest接口
      HttpServletRequest接口的使用和JSP内置对象的request对象非常类似。request对象其实就是HttpServletRequest接口的一个实例,不过其实例化过程是自动的无须自定义的。
在Servlet中request对象也是由容器初始化的,如果要在程序中使用request对象,直接使用就是,无需手动初始化。

3.2 HttpServletResponse接口
HttpServletResponse接口的使用和JSP内置对象的response对象非常类似。response对象其实就是HttpServletResponse接口的一个实例,不过其实例化过程是自动的无须自定义的。
在Servlet中response对象也是由容器初始化的,如果要在程序中使用response对象,直接使用就是,无需手动初始化。

3.3 HttpSession接口
     HttpSession接口的使用和JSP内置对象的session对象非常类似。session对象其实就是HttpSession接口的一个实例,不过其实例化过程是自动的无须自定义的。
在Servlet中session对象必须通过request对象的getSession()方法来获得。

3.4 ServletContext接口
    ServletContext接口的使用和JSP内置对象的application对象非常类似。application对象其实就是ServletContext接口的一个实例,不过其实例化过程是自动的无须自定义的。
在Servlet中application对象必须通过HttpServlet接口的getServletContext()方法获得。

你可能感兴趣的:(Servlet 学习)