Servlet定义:Servlet是基于JAVA技术的Web组件,由容器管理并产生动态的内容。Servlet不是从命令行启动的,而是 由包含Java虚拟机的Web服务器进行加载。
1)Servlet是按照Servlet规范编写的Java类
2)Servlet应用请求/响应模型,扩展了服务器的功能
3)Servlet是WEB应用程序中的一个组件。
技术特点:
Servlet技术带给程序员最大的优势是它可以处理客户端传来的HTTP请求,并返回一个响应。
1.高效。在服务器上仅又一个java虚拟机在运行,它的优势在于当多个客户端的请求进行访问时,Servlet为每个请求分配一个线程而不是进程。
2.方便。Servlet提供了大量的使用工具例程,例如处理很难完成的HTML表单数据、读取和设置HTTP头、处理Cookie和跟踪会话等。
3.跨平台。Servlet是用Java类编写的,它可以在不同的操作系统平台和不同的应用服务器平台下运行。
4.灵活性和可扩展性。采用Servlet开发的web应用程序,由于Java类的继承性、构造函数等特点,可以随意扩展。
5.共享数据。Servlet之间通过共享数据可以很容易地实现数据库连接池。它能方便地实现管理用户请求,简化Session和获取前一页面信息的操作。
Servlet生命周期:
在每个Servlet实例的生命中有三种类型的事件,这三种事件分别对应于由Servlet引擎所唤醒的三个方法:
1.init()。当Servlet第一次被装载时,Servlet引擎调用这个Servlet的inti()方法,只调用一次,可重写。
2.service()。这是Servlet最重要的方法,是真正处理请求的地方。对于每个请求,Servlet引擎将调用Servlet的service方法,并把Servlet请求对象和Servlet响应对象作为参数传递给它。
3.destroy()。这是相对于init的可选方法,当Servlet即将被卸载时由Servlet引擎来调用,这个方法用力啊清楚并释放在init方法中所分配的资源。
Servlet与JSP的区别:
1、Jsp在本质上就是Servlet,但是两者创建的方式不一样。
2、Servlet完全是JAVA程序代码构成,擅长于流程控制和事务控制,通过Servlet来生成动态网页很不直观。
3、Jsp由HTML代码和JSP标签构成,可以方便地编写动态网页。
因此在实际应用中采用Servlet来控制业务流程,而采用Jsp来生成动态网页,在struts框架中,Jsp位于MVC设计模式的视图层,而Servlet位于控制层。
1、JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。
2、JSP编译后是"类servlet"。
3、Servlet和JSP最主要的不同点在于,Servlet的应用逻辑在Java文件中,并且完全从表示层中的HTML里分开来。而JSP是Java和HTML组合成一个扩展名为.jsp文件。
4、JSP侧重于视图,Servlet主要用于控制逻辑。