Servlet简介&开发介绍

来源:互联网 发布:怎么做数据新闻 编辑:程序博客网 时间:2024/05/13 19:32

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("标签");

            }



}
原创粉丝点击