1)servlet 可移植 跨平台 CGI 不行 2)在传统 CGI 中每个请求都要启动一个新进程,若 CGI 程序的本身执行时间较短,启动进程所需要的进行所需要的开销很可能反而超过实际执行的时间;servlet,每个请求由轻量级的 java 线程处理 3)在传统 CGI 中,若有 N 个并发的对同一个 CGI 的请求,该 CGI 的程序代码在内存中重载了 N 次,对于 servlet,处理请求的是 N 个线程,只要一份 servlet 类代码
要实现单线程模式,可以在配置文件中修改 isThreadSafe 属性,比如,<%@page isThreadSafe=”false”%>
用 request,session,application。Cookie 等方法实现页面间的对象传递。
jsp 是 servlet 技术的扩展,本质上是 servlet 的简单方式,jsp 编译后是“类 servlet”。他们最主要额不同在于:servlet 的应用逻辑在 java 文件中,并且完全从表示层中的 html 分离出来。Jsp 是 java 和 html 可以组合为一个扩展名为.jsp 的文件。Jsp 侧重视图, servlet 侧重控制逻辑。
前者页面不会转向 include 所指向的页面,只显示该页的结果,主页面还是原来的页面,指向完以后还会回来,相当于函数调用,并且可以带参数。后者完全转向新页面,不会再回来,相当于 goto 语句。
1)request:用户端的请求,此请求会包含来着 get or post 请求的参数。 2)response:网页传回用户端的响应。 3)pageContext:网页的属性 4)session:与请求有关的会话 5)application:servlet 正在执行的内容 6)out:传送回应的输出 7)conig:servlet 的部件 8)page:gsp 网页本身 9)exception:网页错误
1)jsp:include 在页面被请求时,引入一个文件 2)jsp:useBean 寻找 or 实例化一个 JavaBean 3)jsp:setProperty 这只 javaBean 的属性 4)jsp:getProperty 输出某个 javaBean 的属性 5)jsp:forword 把请求转到一个新页面 6)jsp:plugin 根据浏览器类型为 java 插件生成 object or embed 标配