美文网首页
如何实现servlet

如何实现servlet

作者: guanalex | 来源:发表于2017-10-14 11:07 被阅读16次

什么是servlet?

Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。简而理解就是web服务器上具有特殊功能的一个小程序。

servlet的运行过程

对于servlet的运行过程是Servlet程序是由web服务器调用,web服务器收到客户端的Servlet访问请求后:
  第一步,Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。 如果是,则直接执行第四步,否则,执行第二步。
  第二步,装载并创建该Servlet的一个实例对象。
  第三步,调用Servlet实例对象的init()方法。
  第四步,创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
  第五步,WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

下列是图解过程

web浏览器向服务器发出请求 首次请求时建立servlet对象 3创建请求和响应对象 调用servlet方法 读取请求信息并写入响应信息 servlet方法返回 读取响应信息 向web浏览器返回响应

利用工具来创建一个servlet过程

利用工具来创建servlet文件好处就是他会总动帮你写好web.xml文件,下面是用myeclipse 10来创建的过程。

首先实例化一个包 创建servlet文件 自动创建xml文件 xml文件

首先1号的/Hello是我们访问服务器的虚拟目录,当检测到这个路径,就会转到servlet-name标签下找,然后跳转置3号查找servlet是否好友与2号相同的名字,如果有就创建myservlet.HelloServlet对象。

开发servlet的三种方式

第一种,就是创建一个普通类去实现Servlet接口,并重写servlet接口的所有方法,重点是重写service方法,代码如下

public class Demo implements Servlet {         //实现Servlet接口,重写接口全部方法
public void destroy() {
}
public ServletConfig getServletConfig() {
    return null;
}
public String getServletInfo() {
    return null;
}
public void init(ServletConfig arg0) throws ServletException {
}
public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {
 //向浏览器输出SERVLET字符
    PrintWriter pw = res.getWriter();
    pw.write("<font style='color:red;font-size:111px'>SERVLET</font>");
 }
 }

第二种方法,就是创建一个普通类去继承GenericServlet类,并重写service方法,因为GenericServlet类以实现servlet接口,所以就不用去重写每一个servlet接口的方法。代码如下:

public class Demo extends GenericServlet {
public Demo(){
}
@Override
public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {
      //向浏览器输出servlet字符
    res.setContentType("text/html;charset=utf-8");
    PrintWriter pw = res.getWriter();
    pw.write("<font style='font-size:111px;color:red'>Servlet</font>");
}
 }

第三种方法,也是创建一个普通类去继承HttpServlet类,并重写doGet或doPost方法,因为HttpServlet类是继承自GenericServlet类,不用在重写service方法,这种放好的好处就是可以分清楚是处理哪一种请求方式。代码如下:

     public class Demo01C extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
     //向浏览器输出一个表单
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter pw = response.getWriter();
    pw.write("<form action='#' method='POST'>");
        pw.write("<table border='2' align='center'>");
            pw.write("<caption><h2>用户登录</h2></caption>");   
            pw.write("<tr><th>姓名</th><td><input type='text' name='username'/></td></tr>");
            pw.write("<tr><th>密码</th><td><input type='password' name='password'/></td></tr>");
            pw.write("<tr><td colspan='2' align='center'><input type='submit' value='提交'/></td></tr>");
        pw.write("</table>");
    pw.write("</form>");
}
 }   

相关文章

  • 8.request/response/servlet学习笔记

    本文内容什么是Servlet与Servlet是如何执行的了解Servlet实现关系手动和自动开发Servlet s...

  • JAVAWeb09

    实现servlet的方式 实现servlet有三种方法 -实现javax.servlet.servlet接口; -...

  • 如何实现servlet

    什么是servlet? Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器...

  • Servlet

    Servlet的实现方式 实现 javax.servlet.Servlet @Override public ...

  • 传统 Servlet 应用

    Servlet 组件:Servlet、Filter、Listener Servlet实现:@WebServletU...

  • 第三周复习

    1.什么是Servlet(继承哪个类,或实现什么接口)如何配置servlet 一个类继承HttpServlet或G...

  • Servlet 实例

    Servlet 实例 Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接...

  • Servlet与Jsp(1)

    Servlet 实现原理Servlet接口使Servlet容器能将Servlet类载入内存,并在Servlet实例...

  • JavaWeb开发之Servlet生命周期

    Servlet的生命周期的含义 Servlet容器如何去创建Servlet对象,如何给Servlet对象分配资源,...

  • JavaWeb--Servlet体系结构

    Servlet->Servlet体系根接口GenericServlet->Servlet抽象实现类HttpServ...

网友评论

      本文标题:如何实现servlet

      本文链接:https://www.haomeiwen.com/subject/kskxuxtx.html