背景知识
Table of Contents
1 JSP
JavaServer Page(JSP)是一种动态网页技术标准.在HTML中插入Java片段 (Scriptlet),以.jsp为文件后缀.在接到客户端请求的时候,服务器根据XXX.jsp文 件生成XXXServlet.java文件,然后编译运行,最后返回结果给客户端.
1.1 Servelet
Servelet是一种 独立于平台和协议 的 服务器端 的Java应用程序,生 成动态页面.为HTTP客户端跟HTTP服务器程序的中间层.好处是快(比CGI快), 每个用户请求被激活成程序中的一个线程.Servlet是纯粹的Java,jsp介于 html和java质检,有助于美工人员来设计界面.
1.2 CGI 和 WSGI
既然上一节提到了CGI,这里稍微展开一下.Common Gateway Interface (CGI)是一种利用程序的标准输入,输出流来完成HTTP通信的方式.HTTP本身 是文本协议,请求是由服务器(Apache)处理,而应用程序可能由各种语言来实 现.CGI则将这个文本协议以标准输入流的方式传递给服务器端的CGI程序. 与之类似的还有WSGI,原理类似,但是是Python专用的协议.对于实现了 call 的对象,将 request 经过包装作为参数传入,同时也返回进过 包装的 response.
2 Tomcat + Apache
Apache和Tomcat都是提供服务器功能的软件.Apache可以使用 PHP,CGI,Perl,Tomcat在Apache后端提供对Java的支持.Apache+Tomcat处理 JSP的时候,Apache只是转发.Apache是Web服务器,Tomcat是应用服务器,是 Servlet容器,可以单独运行.
Tomcat是Servlet的容器,可以独立运行,也可以作为现有服务器的附加(支持 Apache,IIS,Netscape).配置Tomcat的时候选择运行模式.