JSP+javaBean+Servlet可是说就算是MVC了,Servlet在开发中一直扮演着很重要的角色,所有的标准开发都离不开Servlet,我们来看一下到底什么是Servlet,它有什么样的用途
Servlet简介
Servlet(服务器端小程序)是使用java语言编写的服务器端程序,可以像JSP一样,生成动态的WEB页,Servlet主要运行在服务器端,并由服务器调用执行,是一种按照Servlet标准开发的类。
Servlet程序是java对CGI(公共网关接口)程序的实现,但是与传统CGI的多进程处理操作不同的是,Servlet采用了多线程的处理方式,这样就使得Servlet程序的运行效率比传统的CGI更高,而且Servlet还保留有java的可移植性的特点,这样使得Servlet更容易使用,功能也更加强大
知道Applet的读者应该觉得它与Servlet很相似,都是应用小程序
之前所编写的jsp程序,基本上还是为了Servlet进行服务的,如果说句更专业的话,从JSP的发展来看,是先产生了Servlet,之后再产生了JSP,因为Servlet的开发较为困难,所以为了java技术可以走的更好,SUN公司向微软公司学习了ASP技术的特点,这才有了JSP程序,但是JSP程序在执行的时候依然是依靠.*class文件的执行,所以JSP的骨子里依然是Servlet
Servlet处理的基本流程
Servlet处理的基本流程(如下图)
1. 客户端(很可能是WEB浏览器)通过HTTP提出请求
2. WEB服务器接收该请求并将其发送给Servlet。如果这个Servlet尚未被加载,web服务器将把它加载到java虚拟机并且执行它。
3. Servlet程序将接受该HTTP请求并执行某种处理
4. Servlet会将处理后的结果向web服务器返回应答
5. WEB服务器将从Servlet收到的应答发回给客户端
Servlet程序实现
Servlet程序实现
在整个Servlet程序之中最重要的就是Servlet接口,在此接口下定义一个GenericServlet的子类,但是一般不会直接集成此类,而是根据所使用的协议选择GenericServlet的子类继承,例如:现在是采用HTTP协议处理的,所以一般而言当需要使用HTTP协议操作时用户自定义的Servlet类都要继承HttpServlet类。
要想在程序中实现一个Servlet的话,则必须继承HttpServlet类,这个类主要是针对于HTTP协议而生的。 JSP、javaBean和Servlet之间的关系
简单的说 Servlet负责根据URL的路径结构进行分析,然后调用javaBean进行业务逻辑处理,结果交给JSP进行标示处理
JSP文件中只使用非常少量的javaScript。 Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页需要使用javaBean和对象,同时根据用户的动作决定把那个JSP页传给请求者。特别注意的是,在JSP页中没有处理逻辑,它仅负责检查原先由javaScript创建的对象或javaBean,从Servlet中提取动态内容插入静态模板。这是一种有代表性的方法,它清晰的分离了表达和内容,明确了角色的定义以及开发者与网页设计者的分工。