您当前的位置:首页 > 养生 > 内容

servlet是什么(什么是Servlet)

本文目录

  • 什么是Servlet
  • servlet是什么
  • SERVLET是什么
  • Servlet是什么
  • 我很想知道,servlet到底是做什么的 怎么用
  • servlet是什么及工作原理

什么是Servlet

Servlet是用来处理客户端请求并产生动态网页内容的Java类。Servlet主要是用来处理或者是存储HTML表单提交的数据,产生动态内容,在无状态的HTTP协议下管理状态信息。

servlet是什么

在 JavaWeb 项目中,处理请求和发送响应的过程是由一种叫做 Servlet 的程序来完成的,并且 Servlet 是为了解决实现动态页面而衍生的东西。

简单来讲:Servlet其实就是一个遵循Servlet开发的java类,Serlvet是由服务器调用的,运行在服务器端。

一张图描述 Servler 在 B/S 中的作用点:

2. Tomcat 和 Servlet 的关系

Tomcat 是Web应用服务器,是一个Servlet/JSP容器。 Tomcat 作为 Servlet 容器,负责处理客户请求,把请求传送给 Servlet,并将 Servlet 的响应传送回给客户,而 Servlet 是一种运行在支持 Java 语言的服务器上的组件。

Servlet 最常见的用途是扩展 Java Web 服务器功能,提供非常安全的、可移植的、易于使用的 CGI 替代品。

从 Http 协议中的请求和响应可以得知,浏览器发出的请求是一个请求文本,而浏览器接收到的也应该是一个响应文本。但是在上面这个图中,并不知道是如何转变的,只知道浏览器发送过来的请求也就是 request,我们响应回去的就用 response。忽略了其中的细节,现在就来探究一下。

①:Tomcat 将 Http 请求文本接收并解析,然后封装成 HttpServletRequest 类型的 request 对象,所有的 Http 头数据读可以通过request 对象调用对应的方法查询到。

②:Tomcat 同时会要响应的信息封装为 HttpServletResponse 类型的response 对象,通过设置 response 属性就可以控制要输出到浏览器的内容,然后将 response 交给 Tomcat,Tomcat 就会将其变成响应文本的格式发送给浏览器。

Java Servlet API 是Servlet容器(tomcat)和servlet之间的接口,它定义了Serlvet 的各种方法,还定义了 Servlet 容器传送给 Servlet 的对象类,其中最重要的就是 ServletRequest 和 ServletResponse 。所以说我们在编写Servlet时,需要实现 Servlet 接口,按照其规范进行操作。

3. Servlet 接口主要方法

Servlet 接口主要的 3 个方法:

  • init()方法:只会调用一次,只是在创建servlet实例的时候才会创建。

  • service()方法:是进行数据处理的,只要接受了一次请求,就会被调用一次

  • destroy()方法:销毁 Servlet 对象的时候调用。停止服务器或者重新部署 Web 应用时销毁 Servlet 对象,同样也是调用一次

  • 4. 编写 Servlet

    首先说明一点疑惑,有时候我们在一些资料上看到别人这样写:

  • public class TestServlet implements Servlet {
  •     init()...
  •     service()...
  •     getServletConfig()...
  •     ...
  • }
  • 而在这我们要继承 HttpServlet类 那么问题来了,继承HttpServlet 和实现Servlet 有什么区别?

    首先,直观的不同,Servlet 是一个接口,如果实现这个接口,那么就必须实现接口里面定义的所有方法。

    而 HttpServlet 实现了 Servlet 接口,并把 Servlet 接口中的方法实现了。继承 Httpservelt,实际上也就实现了 Servlet 接口。

    但是我们没必要再去实现 Servlet 中定义的生命周期方法,因为在 Httpservlet 中已经有了默认实现,并且这些默认实现也挺规范和实用, doget 和 dopost 是执行用户请求的终点,get 请求会调用 doget 方法,post 请求会执行 dopost 方法,我们可以在这2个方法中定义我们自己的业务逻辑。

    最后,HttpServlet 在实现 Servlet 接口的时候,已经实现了 Servlet 中所有的方法,因此继承自 HttpSrvlet 的类,不需要再去覆写相应的生命周期等方法。

    4.1 编写Java类,继承HttpServlet

    创建一个 MyServlet java 类,继承 HttpServlet 实现 service 方法:

  • public class MyServlet extends HttpServlet {
  •     @Override
  •     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  •         //设置字符编码
  •         request.setCharacterEncoding(“utf8“);
  •         //从 request 对象中获取username,password
  •         String username = request.getParameter(“username“);
  •         String password = request.getParameter(“password“);
  •         request.setAttribute(“username“,username);
  •         request.setAttribute(“password“,password);
  •         request.getRequestDispatcher( “/index2.jsp“).forward(request, response);;
  •     }
  • }
  • 4.2 配置web.xml文件

    web.xml 配置 Servlet 访问路径,能让别人通过链接访问到你的 Servlet:

  • 《web-app》
  •   《display-name》Archetype Created Web Application《/display-name》
  •     《servlet》
  •         《servlet-name》MyServlet《/servlet-name》
  •         《servlet-class》club.sscai.demo.MyServlet《/servlet-class》
  •     《/servlet》
  •     《servlet-mapping》
  •         《servlet-name》MyServlet《/servlet-name》
  •         《url-pattern》/MyServlet《/url-pattern》
  •     《/servlet-mapping》
  • 《/web-app》
  • 4.3 jsp 界面显示

    index2.jsp:

  • 《html》
  • 《body》
  • 《h3》2222222《/h3》
  • username: 《%=request.getParameter(“username“) %》
  • 《br》
  • password: 《%=request.getParameter(“password“) %》
  • 《/body》
  • 《/html》

SERVLET是什么

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。实现过程:  最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer开始支持标准的ServletAPI。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:客户端发送请求至服务器端;服务器将请求信息发送至ServletServlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求服务器将响应返回给客户端Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java ServletAPI的包。因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。从这个角度讲,Servlet也被称为FacelessObject。

Servlet是什么

Servlet是什么 Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。 Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。 (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。 (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。 (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可 以是多参与者的游戏服务器。 (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连 接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。 (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。 (7) 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户

我很想知道,servlet到底是做什么的 怎么用

Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

扩展资料

servlet特性

1、Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。

2、Servlet使用传统 CGI 程序很难完成的任务都可以轻松地完成。Servlet 能够直接和 Web服务器交互,而普通的 CGI 程序不能。Servlet 还可以在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

参考资料来源:百度百科—servlet

servlet是什么及工作原理

1. 客户端发送请求到服务器2. 服务器启动并调用Servlet,Servlet根据客户端请求生成相应内容并将其传给服务器3. 服务器将其响应返回客户端4. 其他


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 32位和64位的区别(电脑的32位和64位有什么区别)

下一篇: 散文随笔,雪的散文随笔(书写一位智者的精神力量——读散文随笔集《独坐听风)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号