Web系统与技术马晓轩Email:maxiaoxuan@bucea.edu.cnMobile:13693601365北京建筑工程学院计算机系北京建筑工程学院计算机系-马晓轩2教材及网络资源JavaWeb应用程序设计–栗菊民编著北京建筑工程学院计算机系-马晓轩3考试评定平时成绩(上机练习、综合作业)期末考试–上机考试–理论考试北京建筑工程学院计算机系-马晓轩4内容安排本书的重点是讨论JavaWeb开发技术本课程一共包括如下部分–1.JavaWeb技术整体介绍,主要包括第1章–2.Web开发技术篇,包括第2~4章–3.JSP相关技术,包括第5章到第9章–4.JavaWeb开发中JavaBean组件技术和自定义标记技术,重点包括第10章到第13章–5.Servlet组件程序设计,主要包括第14到16章–6.JavaWeb开发的提高部分,包括第17~20章目标–掌握JavaWeb开发技术北京建筑工程学院计算机系-马晓轩5北京建筑工程学院计算机系-马晓轩6第1章JavaWeb应用概述北京建筑工程学院计算机系-马晓轩7内容提要1.1软件编程体系及应用开发架构–1.1.1软件编程体系架构–1.1.2企业应用开发架构1.2主流web技术介绍–1.2.1ASP网页编程技术–1.2.2ASP.NET网页编程技术–1.2.3JavaWeb编程技术1.3Javaweb技术介绍1.4JavaWeb应用程序环境配置–1.4.1Tomcat安装和配置–1.4.2Java应用程序开发环境配置–1.4.3Java应用程序体验北京建筑工程学院计算机系-马晓轩81.1软件编程体系及应用开发架构软件编程体系企业应用开发架构北京建筑工程学院计算机系-马晓轩91.1.1软件编程体系简介北京建筑工程学院计算机系-马晓轩10B/S架构编程体系浏览器端编程语言–HTML、CSS、JavaScript语言和VBScript语言–这些语言都是被浏览器解释执行的。HTML和CSS是由浏览器解释的,JavaScript语言和VBScript语言也是在浏览器上执行的服务器端编程语言–为了实现一些复杂的操作,比如:连接数据库,操作文件等,需要使用服务器端编程语言。–3P(ASP、JSP和PHP(PersonalHomePage))技术北京建筑工程学院计算机系-马晓轩11C/S架构编程体系经典的开发语言–C++–Java这两门语言覆盖了该领域85%以上的项目2000年以前,C/S结构占据开发领域的主流,随着B/S结构的发展,C/S结构已经逐步被B/S结构取代–数据安全性–数据实时性–网络应用限制:前者仅适用于局域网内部用户或宽带用户,后者几乎适用于所有的网络结构–服务响应及时性–---北京建筑工程学院计算机系-马晓轩121.1.2企业应用开发架构多层设计–在构建企业级应用的时候,通常需要大量的代码,而且这些代码一般分布在不同的计算机上,根据代码运行在不同计算机上的进行划分的理论就是多层设计企业级应用系统–两层–三层–N层北京建筑工程学院计算机系-马晓轩13两层架构传统的两层应用包括用户接口和后台程序,后台程序通常是一个数据库,用户接口直接同数据库进行对话实现上,通常使用ASP、ASP.NET、JSP或者VB等技术编写这类软件北京建筑工程学院计算机系-马晓轩14三层架构在两层应用中,应用程序直接同数据库进行对话。三层结构在用户接口代码和数据库中间加入了一个附加的逻辑层,通常这个层叫做“业务逻辑层”在“业务逻辑层”,如果第一层和第二层在不同的计算机上,通常该层利用的技术是EJB技术、CORBA技术和DCOM技术在Java企业应用领域中,表示逻辑层通常可以是HTML、Applet、JSP,业务逻辑层一般利用EJB来实现北京建筑工程学院计算机系-马晓轩15N层架构如果某个应用超过三个独立的代码层,那么这个应用叫做N应用,就不再叫四层或者五层等名称,而是统称为N层北京建筑工程学院计算机系-马晓轩16开发架构比较两层架构–优点:开发过程比较简单,利用服务器端的程序直接访问数据库,部署起来比较方便–缺点:程序代码维护起来比较困难,程序执行的效率比较低,用户容量比较少三层架构–基本解决了两层架构的缺点,将显示部分和逻辑流程控制分开,利用服务器应用程序实现显示部分,利用业务逻辑层实现程序的流程控制–优点:分层使维护变的方便一些,而且执行效率也会有所提高–缺点:相对而言,部署起来就比较困难一些多层架构–根据实际的需要,会进一步细化每一层,或者添加一些层,就形成了N层架构,和三层架构一样,组件化的设计使维护相对容易,但是部署相对困难北京建筑工程学院计算机系-马晓轩171.2主流web技术介绍CGI(CommonGatewayInterface)程序PHPASPASP.NETJSP北京建筑工程学院计算机系-马晓轩181.2.1ASP网页编程技术ASP(ActiveServerPages)–Microsoft推出的一种低端B-S结构软件系统解决方案–存在会话状态、应用程序状态、浏览器状态跟踪技术–能够产生动态HTML页面–能够操作数据库、实现数据的动态存取ASP是一种基于脚本的解释性程序–JavaScript和VBScript–ASP是一种脚本和HTML混杂编排生成动态网页的技术ASP脚本程序负责应用逻辑HTML程序负责样式显示北京建筑工程学院计算机系-马晓轩19ASP技术特征ASP作为解释性程序–针对每个页面的每次请求,都需要服务器对代码重新解释,重新运行–网站执行效率差ASP是一种半过程,半对象化的语言环境,不支持面向对象的多数概念和观点–和主流的面向对象语言与开发方法不兼容ASP技术简单易学北京建筑工程学院计算机系-马晓轩201.2.2ASP.NET网页编程技术一种全新的开发平台和技术,支持完全的面向对象开发技术–ASP.NET4.0–支持多种面向对象的开发语言VB.net,c#–支持完全的面向对象设计技术–强大的工具支持VisualStudio.net–简单性和易学性北京建筑工程学院计算机系-马晓轩211.2.3JavaWeb编程技术JavaWeb开发技术是基于特定标准的–JSP标准和Servlet标准–具有平台和服务器独立性,能够在所有兼容这些标准的服务器中运行Tomcat,Weblogic,WebsphereJavaWeb技术是构建在开放过程和源码基础上的开发效率和方法方面,Java既提倡基于记事本的纯手工式开发,也支持象JBuilder、Eclipse等大型软件开发环境–前者十分适合JavaWeb技术学习者–大型软件开发工具的开发方法适合于软件公司的高效率开发北京建筑工程学院计算机系-马晓轩221.3Javaweb技术介绍1.JSP技术2.Servlet技术3.JavaBean4.JavaFilter5.XML6.HTML和JavaScript北京建筑工程学院计算机系-马晓轩231.JSP技术语法构成–HTML标记–JavaScript脚本–Java构成的服务器端脚本–JSP内置标记简单易学编译性程序–首次执行慢,以后的执行速度比较快北京建筑工程学院计算机系-马晓轩242.Servlet技术Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。–它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机JSP本身就是就是一种Servlet程序是一个普通的Java类北京建筑工程学院计算机系-马晓轩253.JavaBean技术Java中的组件对象模型满足JavaBean规范的一个普通Java类可以有UI界面,也可以没有UI界面用于封装固有的算法,例如数据库操作算法、数据类型转换算法北京建筑工程学院计算机系-马晓轩264.JavaFilter技术是Java技术对切面编程技术的支持JavaFilter组件通过对流经数据进行处理而允许用户对系统整体行为进行操作用途–非业务性功能、系统性功能–安全验证、系统日志、请求逻辑进行编码北京建筑工程学院计算机系-马晓轩275.XML技术XML:(eXtensiveMarkupLanguage,可扩展标记语言)应用十分广泛的技术在JavaWeb中的应用–数据展现–配置文件保存–数据存储和传输北京建筑工程学院计算机系-马晓轩286.HTML和JavaScript技术针对浏览器进行程序设计的技术是JavaWeb开发的基础北京建筑工程学院计算机系-马晓轩291.4JavaWeb程序环境配置JavaWeb运行环境对应一个支持JavaWeb标准的服务器–Tomcat、WebLogic、WebSphere等–Tomcat6.0–编译部署,需要用到JDK1.6北京建筑工程学院计算机系-马晓轩301.4.1Tomcat安装和配置首先安装JavaSE6,安装完后配置相应JAVA_HOME,CLASSPATH,PATH–我的电脑-右键属性-高级-环境变量–JAVA_HOMEC:\ProgramFiles\Java\jdk1.6.0_21–采用下面语法配置CLASSPATH语法.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar–主要将当前路径、dt.jar和tools.jar的路径添加到CLASSPATH中即可–另外需要将JDK的bin路径加载到PATH环境变量中北京建筑工程学院计算机系-马晓轩31启动Tomcat6.0安装程序–Tomcat6.0的管理界面北京建筑工程学院计算机系-马晓轩321.4.2Java应用程序开发环境配置在本课程的整个程序演示中需要使用如下类包–javaee.jar,用于提供对JSP和Servlet的编译支持–Activation、mail两个类包,用于提供对邮件收发的支持–commons-io-1.3.1.jar、commons-fileupload-1.2.jar用于提供对文件上载的功能支持请保证上面的类包被设置到了计算机的CLASSPATH环境变量中北京建筑工程学院计算机系-马晓轩331.4.3Java应用程序体验Tomcat6.0应用程序配置方法–1.直接在webapp目录下建立文件夹即可(推荐使用这种方式)–2.修改conf/server.xml文件在host节点中增加contextpath=“/ch01”docBase=“c:\chapter01”/context需要重新启动tomcat服务器北京建筑工程学院计算机系-马晓轩34演示程序内容新建一个JSP文件–分别使用html、javascript、jsp服务器端脚本输出一段文字北京建筑工程学院计算机系-马晓轩35内容提要1.1软件编程体系及应用开发架构–1.1.1软件编程体系架构–1.1.2企业应用开发架构1.2主流web技术介绍–1.2.1ASP网页编程技术–1.2.2ASP.NET网页编程技术–1.2.3JavaWeb编程技术1.3Javaweb技术介绍1.4JavaWeb应用程序环境配置–1.4.1Tomcat安装和配置–1.4.2Java应用程序开发环境配置–1.4.3Java应用程序体验北京建筑工程学院计算机系-马晓轩36作业1.熟练掌握JavaWeb运行环境的配置方法2.参考教材1.3.3节的内容,练习Web应用程序的创建方法。–目标:掌握Tomcat上Web应用程序的创建方法3.自学HTML规范第2章HTML编程技术北京建筑工程学院计算机系-马晓轩38内容提要2.1HTML文件执行过程