您的位置:首页 > 其它

Servlet简介&开发介绍

2009-06-22 16:23 316 查看
Servlet 是一种比JSP 更早的动态网页编程技术。在没有JSP 之前, Servlet 也是同时充当视图层、业务逻辑层及持久层角色。
Servlet 的开发效率非常低,特别是当使用Servlet 生成表现层页面时,页面中所有的HTML 标签,都需采用Servlet 的输出流来输出,因此极其烦琐。由于Servlet 是个标准的Java 类,因此必须由程序员开发,其修改难度大,美工人员根本无法参与Servlet 页面的开发。这一系列的问题,都阻碍了Servlet 作为表现层的使用。
自MVC 规范出现后, Servlet 的责任开始明确下来,仅仅作为控制器使用,不再需要生成页面标签,也不再作为视图层角色使用。

Servlet ,通常称为服务器端小程序,是运行在服务器端的程序,用于处理及响应客户端的请求。
Servlet 是个特殊的Java 类,这个Java 类必须继承HttpServlet 。每个Servlet 可以响应客户端的请求。Servlet 提供不同的方法用于响应客户端请求。
doGet: 用于响应客户端的get 请求。
doPost: 用于响应客户端的post 请求。
doPut: 用于响应客户端的put 请求。
doDelete: 用于响应客户端的delete 请求。

事实上,客户端的请求通常只有get 和post 两种; Servlet 为了响应这两种请求,必须重写doGet 和doPost 两个方法。如果Servlet 为了响应四个方法,则需要同时重写上面的四个方法。
大部分时候, Servlet 对于所有请求的响应都是完全一样的。此时,可以采用重写一个方法来代替上面的几个方法, Servlet 只需重写service 方法即可响应客户端的所有请求。
另外, HttpServlet 还包含两个方法。
init(ServletConfig config): 创建Servlet 实例时,调用的初始化方法。
destroyO: 销毁Servlet 实例时,自动调用的资源回收方法。
通常无须重写initO和destroyO两个方法,除非需要在初始化Servlet 时,完成某些资源初始化的方法,才考虑重写init 方法。如果需要在销毁Servlet 之前,先完成某些资源
的回收,比如关闭数据库连接等,才需要重写destroy 方法。
注意:如果重写了init(ServletConfig config)方法,则应在重写该方法的第一行调用
super.init(config) 。该方法将调用HttpServlet 的init 方法。


//Servlet 必须继承HttpServlet 类


public class FirstServlet extends HttpServlet




...{


// 客户端的响应方法,使用该方法可以响应客户端所有类型的请求


public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,java.Io,IOException




...{


// 设置解码方式


request.setCharacterEncoding("GBK") ;


// 获取name 的请求参数值


String name = request.getParameter("name");


//获取页面输出流


PrintStream out = new PrintStream(response.getOutputStream());


//输出html标签


out.println("标签");


// 输出请求参数的值: name


out .println ("您的名字: n + name + 11 <hr> " ) ;


//输出html标签


out.println("标签");




}






}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: