标签:没有 http请求 参考资料 完整 socket 独立 组件 如何 net
Servlet没有main()方法,他们受控于另一个Java应用,这个java应用称为容器(Container)。
Web服务器应用(如Apache)得到一个指向Servlet的请求(如何判断是一个Servlet请求而不是一个静态HTML页面请求?)时,服务器不是把这个请求交给Servlet本身,而是交给部署该Servlet的容器。由容器向Servlet提供HTTP请求和响应,而且要由容器调用Servlet的方法(如doPost()或deGet())。
注意,我们目前使用Tomcat作为Http服务器和Web容器,即可以将上述Apache、Servlet容器字眼都换为Tomcat。
Servlet的三个名字:真实java类名、URL映射名、HTTP请求名,这些在部署描述文件(DD)里声明。
DD另外还有以下作用:安全角色、错误页面、标记库、初始化配置信息等等。
业务逻辑放在模型中,模型就是业务数据和方法的组合;
Servlet扮演控制器的角色,在模型和视图之间起协调作用;
JSP作为视图可与模型分离。
J2EE是一种超级规范,他结合了其他的一些规范,包括Servlet2.4规范和JSP2.0规范,这些是对应Web容器的;
另外J2EE 1.4规范还包括Enterprise JavaBean(EJB)2.1规范,这对应EJB容器;
即,Web容器用于Web组件(Servlet和JSP),EJB容器用于业务组件;
J2EE应用服务器包括一个Web容器和一个EJB容器;Tomcat是一个Web容器,而不是一个完整的J2EE应用服务器;
独立的Web容器通常配置为与一个HTTP Web服务器(如Apache)协作,不过Tomcat容器本身就能作为一个基本的HTTP服务器。
但是在HTTP服务器功能方面,Tomcat没有Apache那么健壮,所以常见的非EJB Web应用通常会结合使用Apache和Tomcat。
注意的名词:
- Web服务器
- Web容器
- Servlet容器
参考资料
《Head First Servlets & JSP》-2-概述
标签:没有 http请求 参考资料 完整 socket 独立 组件 如何 net
原文地址:http://www.cnblogs.com/myitroad/p/6192515.html