在 JSP 中,Servlet 是另一种重要的技术,全称是 Java Servlet,主要用于 Java 类编写的服务端程序,与平台架构、协议无关。在 JSP 中,所有的 JSP 页面传回服务端时都要转为 Servlet 进行编译、运行。

Servlet 的定义

Servlet 是 Java 专注于 CGI 开发的一种技术,运行在 Server 端,并产生动态的结果。为什么要使用 Servlet 来代替传统的 CGI 程序呢?

原因之一是效率,使用传统的 CGI 程序,每当收到一个 HTTP 请求的时候,系统就要启动一个新的进程来处理这个请求,这样会导致系统性能降低。而使用 Servlet,Java VMS 一直在运行,当接到一个请求之后 Java MVS 就创建一个 Java 线程马上进行处理,如此要比每次都启动一个新的系统进程效率要高得多。

JSP 是 Seivlet 技术的一个扩展。JSP 允许将 Java 代码轻松地和 HTML 语言混合在一起使用,并完成强大的功能。可以使代码更容易阅读并在浏览器中浏览到程序执行的结果。

【例1】下面是一个例子,输出的结果都是“Hello World! Your name is:”,请仔细比较。

JSP 文件代码如下:

JSP

out.println("Hello World! Your name is: "+request.getParameter("name"));

%>

相应的 Servlet 文件代码如下:

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HelloWorld extends HttpServlet

{

public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException

{

response.setContentType("text/html");

PrintWriter out=response.getWriter();

out.println("");

out.println("");

out.println("");

out.println("");

out.println("");

out.println("Hello World! Your name is: "+request.getParameter("name"));

out.println("");

out.println("");

}

}

上面两个程序的输出结果是完全一样的,从而可以看到,JSP 可以实现 Servlet 的一般功能,其中 JSP 程序显得更容易阅读和编写。JSP 和 Servlet 具有不同的特点,应用的场合也不同,程序员在使用的时候,可以根据自己的需要进行选择。

Servlet 的技术特点

Servlet 给程序开发带来了许多好处,能及时响应和处理 Web 端请求。总体来说,Servlet 技术有如下几个特点。

功能强大:Servlet 可以提供传统的 CGI 不能提供的许多强大功能。可以使用 Java 的 API 完成任何传统 CGI 认为困难或不可能的事情。Servlet 可以轻松地实现数据共享和信息维护、跟踪 session 和其他功能。

安全:Servlet 运行在 Servlet 引擎的限制范围之内,就像可以在 Web 浏览器中运行 Applets 一样,这样有助于保护 Servlet 不受烕胁。

成本:由于 Servlet 可以运行在多个 Web 服务器上,这样就可以使用免费或价格便宜的服务器,如此可以大大减少成本开支。

灵活性:由于 Servlet 是在 Java 平台上运行的,所以由于 Java 的跨平台性,Servlet 也可以从一个平台轻易地转移到另一个操作系统平台上,从而大大提高了灵活性。

一个 Servlet 实际上就是一个 Java 类,需要运行在 Java 的虚拟机上,使用 Servlet 引擎。当某个 Servlet 被请求的时候,Servlet 引擎调用该 Servlet 并一直运行到这个被调用的 Servlet 运行完毕或 Servlet 引擎被关闭。

servlet属于php,Servlet是什么?相关推荐

  1. java servlet filter_Java的Servlet、Filter、Interceptor、Listener

    写在前面: 使用Spring-Boot时,嵌入式Servlet容器可以通过扫描注解(@ServletComponentScan)的方式注册Servlet.Filter和Servlet规范的所有监听器( ...

  2. Servlet 2.0 Servlet 3.0 新特性

    概念:透传. Callback 在异步线程中是如何使用的.?? Servlet 2.0 && Servlet 3.0 新特性 Servlet 2.0 && Servle ...

  3. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】...

    tags: Servlet 什么是Serlvet?# Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们 ...

  4. Servlet简介与Servlet和HttpServlet运行的流程

    2019独角兽企业重金招聘Python工程师标准>>> 1.Servlet [1] Servlet简介 > Server + let > 意为:运行在服务器端的小程序. ...

  5. Servlet学习笔记 Servlet原理

    Servlet学习笔记 Servlet原理 一.Servlet基础 1.Servlet执行过程 用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的servi ...

  6. Servlet的体系结构 || Servlet相关配置

    Servlet的体系结构         Servlet -- 接口         |     GenericServlet -- 抽象类         |     HttpServlet  -- ...

  7. javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/

    今天在启动tomcat的时候,出现了这个错误 javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletC ...

  8. HTTP Status 500 - Servlet.init() for servlet springmvc threw exception

    解决办法: 一:把jdk版本换成1.7 or 1.7以下 二:使用spring 4.0RELEASE及以上版本 三:如果你使用的是eclipse开发,换成myeclipse就可以,这可能是这两个开发工 ...

  9. [javaweb] servlet介绍与servlet的继承关系 和 service 方法 (一)

    Servlet servlet是Server Applet的简称,servlet是运行在服务器上的一个小程序,用来处理服务器请求的.一般的网页程序,是通过浏览器访问来实现的,在这个过程中,浏览器发送访 ...

  10. Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象

    本文将记录ServletConfig/ServletContext中提供了哪些方法,及方法的用法. ServletConfig是一个抽象接口,它是由Servlet容器使用,在一个servlet对象初始 ...

最新文章

  1. 计算机科学和Python编程导论(三) 一些简单的数值程序
  2. 曹原获奖了,不是他终于有资格获奖,是奖终于有机会颁给他
  3. djanjo 使用a标签跳转_django页面跳转怎么写
  4. android如何避免内存泄露,Android开发中应该避免的内存泄露
  5. 用python画雪花-python使用turtle库与random库绘制雪花
  6. linux 修改时区_【003】一文全面掌握Linux初始化进程(超详细)
  7. 【AutoML】强化学习如何用于自动模型设计(NAS)与优化?
  8. HTTP Server Error 500 内部服务器错误
  9. php实现标签云,php标签云的实现代码
  10. bzoj 1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 -- Tarjan
  11. uml活动图 各个功能的操作流程和分支_UML建模更好的表达产品逻辑
  12. git/SmartGit切换用户
  13. 数模学习——灰色系统理论
  14. Flash视频播放器
  15. [生存志] 第14节 历代大事件概览 西汉
  16. 微信小程序动态生成二维码
  17. Unity生成和使用obb
  18. 微信小程序,解析回车符
  19. Python灰帽子笔记一
  20. kNN算法解析及应用【内附详细代码和数据集】

热门文章

  1. Tess4j 的简单使用
  2. 前端——关于背景相关属性你不知道的小知识
  3. c语言常用条件判断,C语言菜鸟基础教程之条件判断
  4. 平安夜收到一封来自于西班牙的信
  5. CAPWAP隧道建立交互过程
  6. 5G NR R16 SPS ---- 半持续调度
  7. 基于C3D网络的视频分析与动作识别
  8. React框架是什么
  9. adb安装及简单操作
  10. BPMN2.0规范及流程引擎选型方案