Servlet 技术
来源:互联网 发布:org.apache server 编辑:程序博客网 时间:2024/05/16 07:29
什么是Servlet?
Servlet是java语言类,用来拓展通过请求响应模式的服务端的能力。尽管servlets可以响应任何类型的响应,它们通常用于拓展基于Web的应用程序。在这种应用程序中,Java servlet技术定义了特定的HTTP servlet类。
Servlet通常运行在多线程服务器上,因此应该了解到Servlet必须处理并发请求并且要小心翼翼地同步对共享资源的访问。共享资源一般包括内存数据(比如实例或者类变量)和外部对象(比如文件、数据库连接和网络连接)。
当然我在这里主要讨论的是产生响应HTTP请求的Servlets。说到这里就不得不说一个很重要类HttpServlet,上文也提到了,它提供了将要被子类化以创建适用于Web站点的HttpServlet的抽象类,其子类至少必须重写一个方法,该方法通常是诸如doGet、doPost、doDelete等方法。
可能说了这么多,还是对Servlet的作用不是很清楚,也许使用图可以帮助大家更好的理解Servlet。如下图所示
从上图中我们可以看到,Servlet就是一个运行在Web服务器中的小型Java程序,它通常通过Http协议接收和响应来自Web客户端的请求。那么如何应用Servlet技术呢?请接着看代码实例。
怎么用Servlet?
对于客户端,我们使用html页面来模拟,对于服务器端我们编写一个简单的Servlet程序,用于处理网页发送过来的请求。具体代码如下;
login.html
LoginServlet,java代码
web.xml代码
那么这个Servlet程序具体的执行流程是什么样的,下面的时序图可以帮助大家更好的理解
从上图可以看出,Servlet从客户端接收用户数据,在自己内部或者是调用外部程序进行处理,将处理结果发送回客户端,从而完成了用户和系统的交互,就这么简单。
小结一下:
服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(Common Gateway Interface,CGI)应用程序完成的。然而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。在通信量大的服务器上,JavaServlet 的优点在于它们的执行速度更快于 CGI 程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。
相比较而言,Servlet更胜于CGI,主要体现在便利性,功能强大,可移植性好,仅需要很少的投入,比较便宜。不过Servlet也有其自己不足,那就是它输出HTML语句还是采用老的CGI方式,一句一句的输出,因此编写和修改HTML非常的麻烦。之后出现的JSP和JSP + Bean等技术,其速度方便都比Servlet要强,所以现在Servlet可能用的比较少了。
- Servlet 技术
- Servlet技术
- Servlet 技术
- servlet 技术
- Servlet 技术
- Servlet技术
- servlet 技术
- Servlet技术
- Servlet 技术
- Servlet技术
- Servlet技术
- Servlet技术
- Servlet 技术
- Servlet技术
- Servlet技术
- Servlet技术
- servlet技术
- servlet技术
- VC6.0中友元函数无法访问类私有成员的解决办法
- CFileFind Class
- Swift学习笔记(1)
- Eclipse找不到zipalign tool,找不到hprof-conv.exe
- HDOJ 5499 SDOI
- Servlet 技术
- AES加密,128-192-256,方案一
- LINUX学习笔记(四)RAID LVM
- MySQL的安装、编译Qt驱动和测试
- 分布式process总结之一:Multicast,Membership,Election
- Swift语言基础
- error: ISO C++ forbids declaration of `FILE' with no type
- github学习总结
- Uboot-2015在与Uboot 1.1.6