—高级软件人才实作培训专家!北京传智播客教育讲师:佟刚petrelsky5@tom.com—高级软件人才实作培训专家!北京传智播客教育系统架构C\S系统结构—高级软件人才实作培训专家!北京传智播客教育软件编程体系—高级软件人才实作培训专家!北京传智播客教育结构的项目目前主要采用两种服务器端语言:•JSP(JavaServerPages)•ASP(ActiveServerPages)两种语言构成两大开发体系:•JSP+Oracle体系•ASP+SQLServer体系—高级软件人才实作培训专家!北京传智播客教育架构编程体系B/S结构的编程语言•浏览器端编程语言•服务器端编程语言浏览器端•HTML(HypertextMarkupLanguage,超文本标记语言)•CSS(CascadingStyleSheets,层叠样式表单)•JavaScript语言•VBScript语言—高级软件人才实作培训专家!北京传智播客教育服务器端编程语言目前主要是3P技术•ASP、JSP和PHP•ASP是微软公司推出的,在这三种语言中是用得最为广泛的一种。•JSP是SUN公司推出的是JAVAEE核心技术中最重要的一种•PHP在1999年的下半年和2000年用得非常广泛,因为Linux+PHP+MySQL(一种小型数据库管理系统)构成全免费的而且非常稳定的应用平台—高级软件人才实作培训专家!北京传智播客教育开发环境介绍在开发过程中,基于JSP项目通常涉及到•Web服务器•数据库服务器•集成开发环境的选择—高级软件人才实作培训专家!北京传智播客教育服务器HTTP协议:Web浏览器与web服务器的交互所遵循的规则Web服务器:Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response)。为了处理一个请求,Web服务器可以响应一个静态页面或图片,或进行页面跳转,或者把动态响应的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP脚本,ASP脚本等。无论脚本的目的何,这些服务器端(server-side)的程序通常产生一个HTML的响应来让浏览器可以浏览。—高级软件人才实作培训专家!北京传智播客教育服务器WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范,而且不断的完善以适应新的开发要求,启动界面如图—高级软件人才实作培训专家!北京传智播客教育服务器另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,启动界面如图—高级软件人才实作培训专家!北京传智播客教育服务器在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范,启动界面如图—高级软件人才实作培训专家!北京传智播客教育数据库服务器在Java相关的开发领域中,常用的是3种数据库:Oracle、DB2和MySQL。有时候也使用微软公司的SQLServer数据库服务器Oracle数据库是Oracle公司的产品,也是历史最悠久的数据库,世界前50强的企业中,80%使用Oracle数据库作为公司的数据库服务器。服务器的图标如图—高级软件人才实作培训专家!北京传智播客教育数据库服务器IBM公司的DB2也是一种常用的数据库,和IBM的WebSphere配合构成完整的企业级解决方案,数据库服务器的启动界面如图—高级软件人才实作培训专家!北京传智播客教育数据库服务器目前商业数据库服务器市场三足鼎立:Oracle、DB2和微软公司的SQLServer,在实际应用中,有一个常用的免费的小型数据库服务器:MySQL,启动界面如图—高级软件人才实作培训专家!北京传智播客教育运行环境的安装配置JSP推荐开发的环境:Windows2000Server/2003Server+Tomcat6.x,也是企业中常用的开发环境。JSP运行环境需要JDK的支持,需要安装两个软件:j2sdk和Tomcat。—高级软件人才实作培训专家!北京传智播客教育应用的概念在Sun的JavaServlet规范中,对JavaWeb应用作了这样定义:“JavaWeb应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。”JavaWeb应用中可以包含如下内容:•Servlet•JSP•实用类•静态文档如HTML、图片等•描述Web应用的信息(web.xml)—高级软件人才实作培训专家!北京传智播客教育相应—高级软件人才实作培训专家!北京传智播客教育容器的概念Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。目前最流行的Servlet容器软件括:•Tomcat•Resin•J2EE服务器(如Weblogic)中也提供了内置的Servlet容器—高级软件人才实作培训专家!北京传智播客教育简介Tomcat是一个免费的开放源代码的Servlet容器,它是Apache软件基金会的一个顶级项目,由Apache,Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与与支持,最新的Servlet和JSP规范总是能在Tomcat中的到体现,Tomcat6支持最新的Servlet2.5和JSP2.1规范。—高级软件人才实作培训专家!北京传智播客教育的目录结构Tomcat的目录层次结构存放启动和关闭Tomcat的脚本文件存放Tomcat服务器的各种配置文件存放Tomcat服务器和所有web应用程序需要访问的jar文件存放Tomcat的日志文件存放Tomcat运行时产生的临时文件当发布web应用程序时,通常把web应用程序的目录及文件放到这个目录下Tomcat将JSP生成的Servlet源文件和字节码文件放到这个目录下—高级软件人才实作培训专家!北京传智播客教育1.配置java_home或jre_home2.双击bin目录下的startup.bat文件3.在地址栏中输入—高级软件人才实作培训专家!北京传智播客教育配置Tomcat的端口号1.双击bin目录下的shutdown.bat文件关闭Tomcat服务器2.修改Tomcat默认的端口号:•打开conf目录下的server.xml文件•修改端口号—高级软件人才实作培训专家!北京传智播客教育判断“catalina_home”环境变量是否为空判断当前目录下是否存在bin\catalina.bat文件结论:执行startup.bat,实际上执行的是catalina.bat—高级软件人才实作培训专家!北京传智播客教育若想在任意目录下都能启动Tomcat,则需设置CATALINA_HOME环境变量直接执行catalina.bat时需要带上命令行参数常用的参数是start,run和stop—高级软件人才实作培训专家!北京传智播客教育的管理程序Tomcat提供了一个管理程序:manager,用于部署到Tomcat服务器中的web应用程序要访问managerweb应用程序,需要添加具有管理员权限的账号,编辑conf目录下的tomcat-users.xml文件,添加manager角色,设置用户名和密码—高级软件人才实作培训专家!北京传智播客教育一个web应用程序是由一组Servlet,HTML页面,类,以及其它的资源组成的运行在web服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在组成web应用程序的这些文件要部署在相应的目录层次中,根目录代表整个web应用程序的”根”通常将web应用程序的目录放在webapps目录下,在webapps目录下的每一个子目录都是一个独立的web应用程序,子目录的名字就是web应用程序的名字,也就是web应用程序的“根”。用户通过web应用程序的”根”来访问web应用程序中的资源—高级软件人才实作培训专家!北京传智播客教育Servlet规范中定义了web应用程序的目录层次:Web应用程序的根目录,属于此Web应用程序的所有文件都存放在这个目录下存放Web应用程序的部署描述符文件web.xml存放Servlet和其他有用的类文件存放Web应用程序需要用到的JAR文件,这些JAR文件中可以包含Servlet、Bean和其他有用的类文件web.xml文件包含Web应用程序的配置和部署信息—高级软件人才实作培训专家!北京传智播客教育几点说明:•WEB-INF目录下的classes和lib目录都可以存放Java的类文件,在Servlet容器运行时,Web应用程序的类加载器将首先加载classes目录下的,其次才是lib目录下的类。如果这两个目录下存在同名的类,起作用的将是classes目录下的类•WEB-INF是一个特殊的目录(所有字母都要大写)。这个目录并不属于Web应用程序可以访问的上下文路径的一部分,对客户端来说,这个目录是不可见的。但该目录下的内容对于Servlet代码是可见的—高级软件人才实作培训专家!北京传智播客教育在Web服务器中可以配置虚拟目录,而虚拟目录所对应的真实目录可以在任何路径下。在Tomcat服务器中,主要在XML配置文件中通过Context元素的设置来完成的。一个Context元素就表示一个Web应用程序,运行在特定的虚拟主机中。Context元素是Host元素的子元素,可以在conf\server.xml文件中设置Context元素。—高级软件人才实作培训专家!北京传智播客教育元素的常用属性—高级软件人才实作培训专家!北京传智播客教育Context元素是Host元素的子元素,可以在conf\server.xml文件中设置Context元素。使用docBase属性指定Web应用程序的真实路径。将属性reloadable设置为true,Tomcat在运行时会自动监测Servlet类的改动,如果发现有类被更新,Tomcat服务器将自动重新加载该Web应用程序。这样,在开发时,就不需要频繁重启Tomcat了—高级软件人才实作培训专家!北京传智播客教育配