Servlet困惑答疑
以前一直没有搞清楚servlet,不知道这是一个什么东西,今天有所感悟,所以书写一二
什么是servlet
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:
- 性能明显更好。 Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
- Servlet 是独立于平台的,因为它们是用 Java 编写的。 服务器上的 Java
- 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。
- Java 类库的全部功能对 Servlet来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。
servlet是干什么的?
首先要了解这一点,在我认为,servlet相当于一个操作,是将你提交给服务器的请求进行分析和响应的一个中间元件,其实他就是一个Java类,只不过是一个实现了特殊接口的Java类,他是一个独立于操作系统平台和网络传输协议的服务器端的Java应用程序,他的主要功能就是能实现动态网页技术,是一种web服务器端的编程技术,通常一组servlet负责为一个或一组URL访问请求提供服务并返回相应内容。
servlet的工作流程:
- 浏览器发送请求到服务器
- 服务器根据请求的url,去调用相应的serlvet类。
- 通过servlet中的打印流对象将生成的HTML数据输出给服务器。
- 服务器将servlet生成的数据再输出给客户端浏览器