什么是servlet

原创 2016年08月29日 14:12:20
Servlet 是 SUN 推出的一套规范,规定了如何用 Java 来开发动态网站。也就是说,Java 可以用来开发网站后台,但是要遵循一定的标准。

Servlet 可以使用所有的 Java API,类库丰富,功能强大。

通过Servlet,你可以:
  • 接收用户通过 <form> 表单提交的信息;
  • 查询数据库,包括用户信息、文章内容、页面点击次数等;
  • 生成验证码,防止机器恶意注册。

例如,要在网页上显示IP地址,它的HTML源码是:
  1. <html lang="zh">
  2. <head>
  3.     <meta charset="UTF-8">
  4.     <title>演示页面</title>
  5. </head>
  6. <body>
  7.     <p>你的IP地址是:127.0.0.1</p>
  8. </body>
  9. </html>
那么服务器上的Java代码就应该这样写:
  1. // 导入必需的类
  2. import java.io.*;
  3. import javax.servlet.*;
  4. import javax.servlet.http.*;
  5. // 继承 HttpServlet 类
  6. public class HelloWorld extends HttpServlet {
  7.     public void init() throws ServletException{
  8.         // TODO
  9.     }
  10.     public void doGet(
  11.         HttpServletRequest request,
  12.         HttpServletResponse response
  13.     )throws ServletException, IOException{
  14.         // 设置报头类型
  15.         response.setContentType("text/html");
  16.         // 必须通过println()输出HTML代码
  17.         PrintWriter out = response.getWriter();
  18.         out.println('<!DOCTYPE html>');
  19.         out.println('<html lang="zh">');
  20.         out.println('<head>');
  21.         out.println('<meta charset="UTF-8">');
  22.         out.println('<title>演示页面</title>');
  23.         out.println('</head>');
  24.         out.println('<body>');
  25.         out.println('<p>你的IP地址是:');
  26.         out.println(request.getRemoteAddr());
  27.         out.println('</p>');
  28.         out.println('</body>');
  29.         out.println('</html>');
  30.     }
  31.     public void destroy(){
  32.         // TODO
  33.     }
  34. }
用户接收到的HTML代码,都是通过 println() 语句输出的。

这就是古老的 CGI(Common Gateway Interface,公共网关接口)程序,需要把HTML代码当做字符串,通过输出语句一条一条的输出。互联网初期,CGI 程序大行其道,为互联网的发展做出了不可磨灭的贡献。


图1  http 请求的过程

Servlet 包含了一些列的 Java 类,由支持 Servlet 规范的Web服务器来运行。

可以通过 javax.servlet 和 javax.servlet.http 包来创建 Servlet 程序,这两个包是 J2EE 的一部分,是 Java 核心类库的扩展,他们实现了 Servlet 和 JSP 规范。

你可以像编译普通Java代码一样来编译Servlet程序:当你安装了 Servlet 的包,设置了 classpath 环境变量,就可以使用 JDK 来编译 Servlet 程序了。

总结:Servlet 是一套规范,规定了如何通过Java代码来开发动态网站,并由 javax.servlet 和 javax.servlet.http 两个包中的类来实现。

servlet到底是什么?

servlet到底是什么?对于这个问题一直云里雾里的,今天打算刨根问底。 一、Servlet简介   Servlet是sun公司提供的一门用于开发动态web资源的技术。   Sun公司在其API中提...
  • honghailiang888
  • honghailiang888
  • 2016年01月26日 14:39
  • 23024

什么是servlet?---总结一

Servlet(Servlet Applet),全称Java Servlert .是用Java编写的服务器端程序。其主要功能在与交互式的浏览和修改数据,生成动态Web内容。狭义的servlet是指Ja...
  • zhouying_12345
  • zhouying_12345
  • 2017年04月27日 14:35
  • 857

什么是servlet

一、什么是servlet我们在网上浏览网页,需要一个web服务器,浏览网页的过程就是浏览器通过HTTP协议与WEB服务器 交互的过程。在过去,大多是静态网页,因此只须把资源放在WEB服务器上即可。如今...
  • kevin_long
  • kevin_long
  • 2007年11月06日 20:05
  • 11511

什么是jsp?什么是servlet?

jsp与servlet JSP全名为Java Server Pages,中文名叫java服务器页面。它是一个页面,而且在页面中你可以书写java代码,让你的java代码显示在网页上,做到一个页面上既是...
  • pckonline
  • pckonline
  • 2015年09月11日 17:26
  • 221

Java学习——Servlet是什么

我们在学习了J2EE的十三个规范之后,只是对他们有了一个简单的认识,而接下来需要我们做的就是一个个研究,进行深入学习。在十三个规范中,比较常用的有JSP,Servlet,EJB,JNDI等,那么今天我...
  • u010168160
  • u010168160
  • 2015年08月03日 07:42
  • 4990

Servlet是什么?有什么用?

Servlet(服务器端小程序)是使用Java语言编写的服务器端程序,可以像JSP一样,生成动态WEB页,Servlet主要运行在服务器端,并由服务器执行调用,是一种按照Servlet标准开发的类。 ...
  • qingmengwuhen1
  • qingmengwuhen1
  • 2017年05月25日 22:50
  • 355

[Servlet]什么是Servlet

什么是Servlet
  • u013575441
  • u013575441
  • 2015年06月03日 22:16
  • 914

解释一下什么是servlet

servlet是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序 servlet有良好的生存期,包括加载和实例化、初始化、处理请求以及服务结束。...
  • quniandongtian
  • quniandongtian
  • 2014年02月26日 22:30
  • 3415

什么是Servlet容器?

在本文中,我写了一些关于Web服务器、Servlet容器以及它与JVM的关系的基本概念。我想表达的是,Servlet容器也仅仅不过是一个Java程序。 1. 什么是Web服务器?     想要知道什么...
  • snarlfuture
  • snarlfuture
  • 2014年01月19日 02:22
  • 11498

Servlet详解(三):会话技术

会话技术什么是会话技术呢? 艺术来源于生活,技术也来源于生活。两个总统在一起聊天,我们称作一次会话。两个人进行会话,有两个前提:1. 两个人的语言可以互相沟通 2. 两个人要有记忆力,可以记住对方所...
  • xf616510229
  • xf616510229
  • 2016年12月09日 20:07
  • 615
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是servlet
举报原因:
原因补充:

(最多只允许输入30个字)