JavaWeb介绍.ppt
” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)Logic CC#SQL BaseHTML/CSSSQL Advance.Net OOPJavaScriptWinformsJavaWeb(JSP)JQueryMysqlAJ2EE(SSH2)Ajax&Web2.0A MVCOOAD&UMLWindows MobileAndroidNTCSE&PM企业企业项目项目实训(商业项目)实训(商业项目)J2SE(OOP)LinuxOracleSqlServer” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 学完本门课程,你能够:理解JavaWeb应用概念使用JSP编写动态服务端端页面使用Servlet完成客户端请求与转发控制掌握经典MVC(Model-View-Control)三层架构应用开发” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 编写第一个Servlet程序:HelloServlet” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 理解JavaWeb的常规应用领域 掌握应用服务器Tomcat的安装 熟悉Web工程目录结构及其作用 Web工程项目的部署与服务器的启动 Tomcat服务器与MyEclipse的集成与测试” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 生活中的动态网页 服务端同一个页面可以服务端同一个页面可以根据不同的输入返回不根据不同的输入返回不同的网页,这就是动态同的网页,这就是动态网页网页” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)C/S的局限性B/S带给我们的全新体验百度服百度服务器务器Internet全球用户群中资源共享全球用户群中资源共享 无需安装客无需安装客户端软件户端软件数据库数据库服务器服务器美国用户美国用户中国用户中国用户公司公司局域网局域网特定用户群中资源共享特定用户群中资源共享 数据库数据库服务器服务器客户机客户机1 1客户机客户机2 2客户机客户机N N必须安装客必须安装客户端软件户端软件” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) B/S是浏览器/服务器端,程序完全放在服务器上,不用在客户端安装任何软件,客户端只需一个浏览器即可访问应用程序,它是基于Internet的产物 B/S中浏览器端与服务器端采用请求/响应模式进行交互应用应用服务器服务器 数据库数据库 服务器服务器 IEInternet在应用服务器中布在应用服务器中布署运行程序署运行程序” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)IE解释执行解释执行HTML文件文件从服务器端检索到的信息从服务器端检索到的信息 返回响应返回响应客户端的请求信息客户端的请求信息发送请求发送请求访问数据库访问数据库 返回结果返回结果运行运行JSP/Servlet/JavaBean技术编写的技术编写的Web应用应用1用户输入用户输入234Web应用应用服务器服务器数据库数据库服务器服务器Web服务器接收客户通过浏览器发送请求到服务端服务器接收客户通过浏览器发送请求到服务端,然后服务端以然后服务端以网页的形式向客户端返回用户请求的资源。网页的形式向客户端返回用户请求的资源。” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范 Tomcat的官方下载点是:http:/jakarta.apache.org,其中tar.gz格式包是Linux操作系统下的安装版本,exe格式则是Windows下的安装版本,zip格式是Windows下的压缩安装版本 Tomcat有两种版本,第一种是安装版本,在安装过程中可能需要你指定JDK的安装路径和Tomcat默认使用的端口号,JDK安装路径必须指向你本机已经安装好的JAVA_HOME目录,而端口号如无特殊需要则不需要更改(默认端口号是8080)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) Tomcat安装好之后在安装目录下的bin目录中双击一个称为 startup.bat 的文件启动Tomcat服务器 双击桌面上的IE图标打开IE浏览器并在地址栏中输入: http:/localhost:8080/ 如果显示如下界面代表安装成功:注意注意:localhost:localhost可以使用可以使用回环地址回环地址127.0.0.1127.0.0.1代替代替, ,该地址永远代表本机该地址永远代表本机IPIP地址地址” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)存放启动和关闭 Tomcat 的脚本文件存放 Tomcat 服务器的各种配置文件存放 Tomcat 服务器的类中类库存放 Tomcat 的运行时日志文件存放 Tomcat 运行时产生的临时文件web应用所在目录,即供外界访问的web资源的存放目录Tomcat 的工作目录” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)1、创建一个Web项目2、设计Web项目的目录结构3、编写Web项目的代码4、部署Web项目5、运行Web项目” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)1在菜单栏选择在菜单栏选择:文件文件 新建新建 项目项目2在弹出的窗口中选择在弹出的窗口中选择:MyEclipse J2EE Projects Web Project3输入输入Web项目名称项目名称(设置为设置为news),以及其余相关信息之后以及其余相关信息之后点击确认创建好点击确认创建好WEB工程工程” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)WEB-INF:该目录中内容不能对外发布该目录中内容不能对外发布web.xml:Web应用的初始化配置文件应用的初始化配置文件lib文件夹文件夹:存放以存放以jar/zip形式表现的库文件形式表现的库文件META-INF:系统自动生成系统自动生成,存放系统描述信息存放系统描述信息WebRoot:Web应用的根目录应用的根目录,这个目录是打包目录这个目录是打包目录src文件夹文件夹:存放存放Java源文件源文件静态文件(包括图片、样式表、静态文件(包括图片、样式表、HTML等)存等)存放在放在Web应用的根目录下,一般按功能以文件应用的根目录下,一般按功能以文件夹形式分类夹形式分类 ” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 右键点击右键点击WebRoot 新建新建 HTML : 创建一个新的创建一个新的HTML文件文件在弹出的窗口中,选择文件路径、输入文件名称在弹出的窗口中,选择文件路径、输入文件名称填充填充HTML文件内容文件内容123” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 单击开始运行输入cmd并回车进入到windows系统下的dos控制界面: 使用cd命令切换到工程所在的WebRoot目录下面去执行命令:jar cvf news.war * 在WebRoot目录下面将生成一个news.war文件 将生成的打包文件news.war拷贝到Tomcat安装目录中的webapps目录下面” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)A、进入Tomcat安装目录下,找到conf目录并进入,打开server.xml文件找到一个称为Host的标签,在该标签内添加如下元素: 注:全路径指向工程所在的WebRoot目录,path是客户端访问服务器时的工程名称B、在Tomcat安装目录下的conf目录,在这个目录下新建一个Catalina目录,在Catalina目录下再次创建一个localhost目录,在localhost目录下面新建一个projectName.xml的文件,在该文件中添加Context标签: ,其中xml的文件名projectName将作为外界客户端访问的工程名(此时Context标签中的path属性将是被忽略的)C、作为开发人员,需要经常将开发的Web项目进行部署、调试、迭代等,上面的部署方式显然太过啰嗦,因此上面的部署方式只在工程上线时采用,而对于开发人员则需要一种高效的开发、部署和调试过程,于是我们需要将Tomcat服务器与开发的IDE环境集成起来,对于Web工程,我们常用的IDE工具是MyEclipse,下面将讲述如何将Tomcat与MyEclipse工具进行集成” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)第一步:在MyEclipse中新建一个Web工程” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)第二步:创建一个HelloServlet的类,该类继承于javax.servlet.http.HttpServlet类” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)第三步:重写HttpServlet类中的doGet和doPost以及GenericServlet类中的init和 destory方法(注:HttpServlet抽象类继承于GenericServlet抽象类)package com.scxh.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloServlet extends HttpServlet protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException doPost(req,resp);protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException PrintWriter pw=resp.getWriter();pw.write(Hello Word!);public void destroy() super.destroy();public void init() throws ServletException super.init();” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)第四步:在WEB-INF文件夹下的web.xml文件中配置Servlet类” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)第五步:部署Web工程,启动Tomcat服务器并使用浏览器访问服务器以测试编写 的Servlet类” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)31JavaWeb学科是Java在B/S结构领域内的应用,B/S架构相对于C/S架构而言的优点在于使用维护方便中小型企业常用的Web应用服务器是Tomcat,Tomcat服务器的默认端口是8080,安装后bin目录提供Tomcat的启动与停止等脚本文件,conf目录提供Tomcat的常用配置,webapps目录提供给用户部署工程项目在IDE环境中,一个JavaWeb应用程序的目录分为两个部分,src源文件夹和WebRoot文件夹,前者用于保存程序员开发的源程序,后者用于发布到服务器进行工程部署,其中WebRoot文件夹下的文件提供给外界客户端直接访问,WEB-INF文件夹下的文件则提供给服务器自己调用一个WEB工程的部署有多种形式,包括和IDE继承开发环境的调试部署方式,这需要将Tomcat集成到MyEclipse中去编写Servlet程序时不再需要main方法,main方法放置于Tomcat服务器内部,Servlet程序提供了Servlet接口供程序员去编写实现,最后由服务器来完成调用” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官) 编写一个Servlet程序,要求在网页上用红色16号加粗字体显示当前系统的时间” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)