java网络程序设计.ppt
1,Java网络程序设计,中国石油大学(华东) 计算机与通信工程学院 刘建航,2,一、概述,工作原理:基于B/S(浏览器/服务器)模式,,,,,3,一、概述,工作原理:基于B/S(浏览器/服务器)模式 数据存取的三级结构,,,,,,4,一、概述,HTML-- 超文本标记语言 HTML它构成了Internet应用程序的基础。由于它提供一种友好的界面方式来发布信息,因此在HTML推出后,基于WWW的应用迅速增长并成为Internet上最为流行的服务项目。 从现在的应用实践来看,动态HTML技术基本上取得了主导地位,并成为了主流的网页开发技术产品。 IE浏览器对HTML具有解析功能,5,一、概述,HTML-- 超文本标记语言 HTML语言是一种描述文档结构的语言,而不能描述实际的表现形式。 标签描述了文档的结构,它向浏览器提供该文档的格式化信息,以传送文档的外观特征。 标记化语言包括明确的格式化信息 如今天天气不错 今天天气不错,6,一、概述,Javascript JavaScript 是一种描述语言,此一语言可以被箝入 HTML 的文件之中。 透过 JavaScript 可以做到回应使用者的需求事件 (如: 的输入) 而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端 (server) 处理,再传回来的过程,而直接可以被客户端 (client) 的应用程式所处理。,7,一、概述,Javascript JavaScript 和 Java 很类似,但到底并不一样! Java 是一种比 JavaScript 更复杂许多的程式语言,而 JavaScript 则是相当容易了解的语言。 JavaScript 创作者 可以不那麽注重程式技巧,所以许多 Java 的特性在 Java Script 中并不支援。,8,一、概述,Javascript 优点 1.简单性 它不需要先编译,而是在程序运行过程中被逐行地解释。 2.动态性 它对用户的反映响应,是采用以事件驱动的方式进行的。 3.跨平台性 JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。 4.节省与服务器的交互时间,9,一、概述,网络动态程序设计 HTML不能完成的操作 (1)实现表单的提交 (2)数据的永久性存取操作 (3)页面的数据动态更新 (4)与其他应用程序接口 动态网络程序设计主要技术 JSP 、PHP、ASP,10,一、概述,网络动态程序设计 JSP 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。 作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。 主要使用Tomcat作为发布平台。,11,一、概述,网络动态程序设计 ASP ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能运行于微软的服务器产品,IIS(Internet Ination Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。,12,一、概述,网络动态程序设计 PHP PHP3可在Windows,Unix,Linux的Web服务器上正常运行,还支持IIS,Apache等通用Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用。 然而,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。PHP提供的数据库接口支持也不统一,13,一、概述,网络动态程序设计 性能比较 在循环性能测试中,JSP只用了令人吃惊的4秒钟就结束了20000*20000的循环。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。 数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP则 需要 73 秒。,14,一、概述,网络动态程序设计 JSP网络程序设计要求 需要具有HTML基础,了解HTML的框架结构,熟练掌握常用标签。 Java编程基础,对Java语言要有一定的了解,能够掌握基本类库的使用 能够使用编程工具Frontpage、Dreamweaver、Jbuilder 能够配置Tomcat服务器,15,一、概述,Servelet与JSP Servlet和CGI比较类似,一个Servlet就是一个普通的Java类,写Servlet也和写普通的Java程序没什么区别。 Servlet的特殊之处在于它运行于Web容器内部。Web容器为其提供了一些基础服务,如上下文环境、资源管理、生命周期的管理等等。,16,一个Servelet实例 public class HelloWorldExample extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType(“text/html“); PrintWriter out = response.getWriter(); out.println(““); out.println(““); out.println(“Hello World“); out.println(““); out.println(““); out.println(“Hello World“); out.println(““); out.println(““); } },17,一、概述,Servelet与JSP Servlet虽然功能强大,但并不非常适用于处理页面生成的工作。而且使得页面设计和程序开发的工作混杂起来,不利于分工协作。 JSP的出现就是为了解决这些问题。 JSP在常规HTML标记中加入了特殊的元素,使得服务器可以在页面中插入动态的内容。,18,JSP示例(Hello.jsp), 你好 , 你好 你好 ,,,19,一、概述,JSP工作原理,客户端,Web容器,Hello.jsp,HelloServlet .java,HelloServlet .class,