收藏 分享(赏)

java_web课件1.ppt

上传人:hwpkd79526 文档编号:9865688 上传时间:2019-09-12 格式:PPT 页数:51 大小:749.50KB
下载 相关 举报
java_web课件1.ppt_第1页
第1页 / 共51页
java_web课件1.ppt_第2页
第2页 / 共51页
java_web课件1.ppt_第3页
第3页 / 共51页
java_web课件1.ppt_第4页
第4页 / 共51页
java_web课件1.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、Java Web开发 第一课 Java Web 应用简介,讲师:李玉明,教材及主要参考书目,孙卫琴Tomcat与Java Web开发技术详解(第2版)电子工业出版社耿祥义JSP实用教程(第2版)清华大学出版社孙卫琴精通Struts:基于MVC的Java Web设计与开发 电子工业出版社JSP程序设计类教材,课程目标,理解Web应用及开发的基本概念 掌握Servlet、会话管理、Filter 掌握JSP 、JSP EL及JSTL 编写基于MVC模式的Java Web应用,回顾OOP&JAVA课程,Java语言基础变量和控制逻辑 OOP编程封装、继承、多态的实现 异常 集合类 线程 I/O包,本章

2、目的,理解WEB的基本概念 理解JavaWeb应用的概念 理解Servlet容器的概念 掌握安装和启动Tomcat服务器的过程 创建第一个JavaWeb应用,了解JavaWeb应用的目录结构,在 Tomcat服务器上发布并运行JavaWeb应用的过程。 对JSP和Servlet有初步的了解 对web.xml文件有初步的了解,Web的概念,Web是一种分布式应用架构,旨在共享分布在网络上的各个web服务器中的所有相互连接的信息。 Web采用客户/服务器通信模式,http通信协议。使用HTML来连接网络上的信息。,HTML,超文本标记语言,即HTML(Hypertext Markup Langua

3、ge),是用于描述网页文档的一种标记语言。 特点 允许直接保护纯文本形式的信息; 利用等标记来包含图片和声音等多媒体形式的信息; 利用等标记来设定在浏览器的展示形式; 利用超链接来连接到其他信息。,URL,统一资源定位符(URL,英语UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。 一般由三部分组成: 应用成协议; 主机IP地址或者域名; 资源所在路径/文件名。 格式:应用层协议:/主机IP地址或者域名/资源所在路径/文件名,请求-响应基本概念,请求-响应基本概念,在图中,我们可以看到一个完整的沟通流程,主要有四个构成要素: 沟通协议 某种双方

4、都能明白的沟通机制,例如语言、手势等。 发起方 沟通的发起者。 沟通内容 交流的具体内容,例如,“你吃了嘛?”。 响应方 沟通的接收方和响应者 沟通协议是沟通内容的基础,沟通内容是沟通协议的具体表现形式; 发起方和响应方的角色并不固定,只有在一个交互回合中才能确定角色。,请求-响应基本概念,请求-响应基本概念,从图中,我们可以看到人机交互的构成要素就变成了以下三个元素: 沟通协议 人和机器都能够明白的数据通讯格式 请求内容 人通过某种机制向机器发起的数据请求 响应内容 机器接收到数据请求并做逻辑处理之后,进行响应的数据内容请求-响应模式是一种概念非常宽泛的人机交互模式,是人与计算机进行沟通的一

5、种最基本的行为方式。,请求-响应基本概念,基于B / S体系的Web应用是一个典型的基于请求-响应模式的体系架构。对于之前我们所谈到的请求-响应模式的三要素,我们也可以在其中找到对应关系: 沟通协议 Http协议 请求内容 Http请求 响应内容 Http响应 浏览器发送Http请求到服务器端,服务器端的程序获得了Http请求后进行逻辑处理,并将逻辑处理的结果返回,这个返回的过程我们就称之为Http响应。请求和响应不断的交互过程,构成了所有B / S体系结构的应用构架的基础。如果我们把整个过程的通讯基础冠以一个官方的名称,它就是Http协议 。Web开发的核心内容就是指我们如何编写可运行于We

6、b容器的服务器端程序用于进行Http请求的响应、进行逻辑处理并返回处理结果这样一个完整的过程。,HTTP协议,HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。 可以使浏览器更加高效,使网络传输减少。 保证计算机正确快速地传输超文本文档 确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。,HTTP请求,HTTP协议是基于请求/响应模式的。客户机与服务器建立连接后,发送请求给服务器。 Http请求由三个部分构成: 请求方法、URI、协议版本号; 请求头(Request Header):浏

7、览器类型、所用语言、请求正文类型、请求正文长度; 请求正文(Request Content)。POST /hello.jsp HTTP/1.1 Accept:img/gif,img/jpeg,*/* Accept-Language:en,zh-en;q=0.5 Content-Type:application/x-www-form-urlencoded Content-Length:40 (空行) Username=Zhangsan&password=123456&submit=submit,HTTP请求,HTTP 协议使用以下方法发送请求信息: GET 方法 这种请求方式最为常见,客户程序通

8、过这种请求方式访问服务器上的一个文档,并由服务器把文档发送给客户程序。 POST 方法 客户程序通过这种方法发送大量信息给服务器。在请求正文中包含HTML表单数据。,HTTP响应,服务器接到请求后,给予相应的响应信息。 HTTP响应也有三个部分构成: HTTP协议版本号、状态代码和描述; 响应头(Response Header);服务器类型、正文MIME类型、正文长度等。 响应正文(Response Content)。HTTP/1.1 200 OK Server:Apache-Coyote/1.1 Content-type:text/html;charset=GBK Content-lengt

9、h:102 (空行) ,Servlet/JSP,用Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP。 Servlet是在服务器端执行的Java程序,一个被称为Servlet容器的程序(其实就是服务器)负责执行Java程序。而JSP(Java Server Page)则是一个页面,由JSP容器负责执行。 Servlet和JSP两者最大的区别就是,Servlet以Java程序为主,输出HTML代码时需要使用out.println函数,也就是说Java中内嵌HTML;而JSP则以HTML页面为主,需要写Java代码时则在页面中直接插入Java代码,即HTML中内嵌Java。

10、,Servlet/JSP,JSP便于输出,Servlet便于进行逻辑处理。实际应用中两者常常结合使用,各司其职。 Tomcat是Servlet容器和JSP容器。 tomcat目录下的webapps目录用来保存Web应用程序。 WEB-INF目录无法从浏览器中访问。 WEB-INF/classes下保存的是编译后的Java程序(主要是Servlet),WEB-INF/lib 下保存的是运行时使用的库文件(.jar文件),web.xml则是整个应用程序的配置信息。 其他文件例如 .jsp、图片、Javascript脚本等,都可以直接放到Web应用程序的根目录下。 应用程序的结构,MVC模型,所谓M

11、VC模型就是将数据、逻辑处理、用户界面分离的一种方法。 M(Model, 模型):用于数据处理、逻辑处理。 V(View,视图):用于显示用户界面。 C(Controller,控制器):根据客户端的请求控制逻辑走向和画面。 在Java web中,MVC这三个部分则分别对应于 JavaBeans、JSP和Servlet。 M = JavaBeans:用于传递数据,拥有与数据相关的逻辑处理。 V = JSP:从Model接收数据并生成HTML C = Servlet:接收HTTP请求并控制Model和View,MVC,MVC工作流程,C/S vs B/S,C/S又称Client/Server或客户

12、/服务器模式 ,客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Internet Explorer等,浏览器通过Web Server 同后台进行数据交互。,C/S,优点 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。 缺点只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。安装的工作量,任何一台电脑出问题

13、,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。 系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。对客户端的操作系统一般也会有限制。,B/S,优点 可以在任何地方进行操作而不用安装任何专门的软件。 客户端零维护。 系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。 缺点 运行速度; 数据安全; 人机交互,JavaWeb应用的概念,在Sun的Java Servlet规范中,对Java Web应用作了这样定义:“Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的

14、资源构成。它可以在各种供应商提供的实现Servlet规范Servlet容器中运行。”Java Web应用中可以包含如下内容: Servlet JSP 实用类 静态文档如HTML、图片等 客户端类(如Applet)描述Web应用的信息(web.xml),应用程序体系结构,软件应用程序组件,-表示逻辑 -业务逻辑 -数据存取逻辑,体系结构的类型,-一层 -二层 -三层,数据存取,业务,表示,数据存取,业务,表示,Web 应用程序体系结构,Web 应用程序使用三层体系结构,表示层,客户端,业务层,Web 服务器,数据库,数据层,Servlet容器的概念,Servlet容器为JavaWeb应用提供运行

15、时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。 Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。后文均采用Servlet容器的提法。 目前最流行的Servlet容器软件包括: Tomcat Glassfish Resin J2EE服务器(如Weblogic)中也提供了内置的Servlet容器,Servlet容器响应客户请求的过程,Servlet容器响应客户请求的过程,当客户请求访问某个Servlet时,Servlet容器将创建一个ServletRequest对象和ServletResponse对象。 在ServletRequest对

16、象中封装了客户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给客户所请求的Servlet。 Servlet把响应结果写到ServletResponse中,然后由Servlet容器把响应结果传给客户。,安装并运行tomcat服务器,Tomcat的下载地址: http:/jakarta.apache.org 安装步骤: 首先安装JDK。 接下来,解压Tomcat压缩文件jakarta-tomcat-6.x.zip。解压Tomcat的压缩文件的过程就相当于安装的过程。假定解压至C:jakarta-tomcat目录。 然后设定两个环境变量:JA

17、VA_HOME,它是JDK的安装目录;CATALINA_HOME,它是Tomcat的安装目录。,启动和关闭tomcat服务器,启动命令:binstartup.bat 关闭命令:binshutdown.bat 访问主页:http:/localhost:8080/,Web 应用程序开发过程,设计目录结构 编写 Web 应用程序代码 编写部署描述符 编译代码 将 Web 应用程序打包 部署 Web 应用程序 执行 Web 应用程序,创建第一个JavaWeb应用,helloapp应用的目录结构图:,目录结构说明,/helloapp:Web应用的根目录,所有的JSP和HTML文件存放于此目录(WEB-I

18、NF子目录除外) /helloapp/WEB-INF:存放Web应用的发布描述文件web.xml /helloapp/WEB-INF/classes:存放各种.class文件,servlet类文件也放于此目录 /helloapp/WEB-INF/lib:存放Web应用所需的各种JAR文件。例如,在这个目录下,你可以存放JDBC驱动程序的JAR文件Web应用发布到Tomcat中的目录为: webapps,创建web.xml文件,创建一个默认的web.xml文件,并把这个文件放到WEB-INF目录中。,创建index.htm文件,这个文件仅仅用来显示一串带链接的字符“Welcome to Hell

19、oApp”。以下是index.htm文件的代码:helloappWelcome to HelloApp login ,当前结构及测试结果,helloapp,webapps,WEB-INF,创建login.jsp,它显示登录页面,要求输入用户名和口令,这个页面链接到一个名为DispatcherServlet的Servlet。helloappUser Name:Password:,当前结构及测试结果,helloapp,webapps,WEB-INF,创建DispatcherServlet.java,调用HttpServletRequest对象的getParameter方法读取客户提交的loginF

20、orm表单数据,获取用户名和口令,然后将用户名和口令保存在HttpServletRequest对象的属性中,再把请求转发给hello.jsp。,package mypack;import java.io.IOException;import javax.servlet.GenericServlet; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletReque

21、st; import javax.servlet.ServletResponse;public class DispatcherServlet extends GenericServlet private String target=“/hello.jsp“;Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubString username = req

22、uest.getParameter(“username“);String password = request.getParameter(“password“);request.setAttribute(“USERNAME“, username);request.setAttribute(“PASSWORD“, password);ServletContext context=getServletContext(); RequestDispatcher dispatcher=context.getRequestDispatcher(target); dispatcher.forward(req

23、uest, response);,编译并发布DispatcherServlet,编译DispatcherServlet.java。编译时,需要将Java Servlet API的JAR文件(servlet-api.jar)设置为classpath,servlet-api.jar文件位于/common/lib目录下。编译出来的class文件应位于/helloapp/WEB_INF/classes目录下。DispatcherServlet.class的具体存放位置为/helloapp/WEB_INF/classes/mypack/ DispatcherServlet.class,编译并发布Disp

24、atcherServlet,在web.xml中为DispatcherServlet类加上和元素:dispatcher mypack.DispatcherServletdispatcher /dispatcher,创建hello.jsp,hello.jsp被DispatcherServlet调用,显示Hello页面。helloappWelcome: ,当前结构及测试结果,helloapp应用的web组件总结,在helloapp应用中共创建如下组件: HTML组件- index.htm JSP组件- login.jsp和 hello.jsp Servlet组件-DispatcherServlet,

25、组件之间的链接或转发关系:,思考题,假设在helloapp应用中有一个hello.jsp,它的文件路径如下:/webapps/helloapp/hello/hello.jsp那么在浏览器端访问hello.jsp的URL是什么? 假设在helloapp应用中有一个HelloServlet类,它位于org.ibm包下,那么这个类的class文件应该放在什么目录下? 客户请求访问HTML页面与访问Servlet有什么异同?选项: (A)相同:都使用HTTP协议 (B)区别:前者Web服务器直接返回HTML页面,后者Web服务器 调用Servlet的方法,由Servlet动态生成HTML页面 (C)相

26、同:前者Web服务器直接返回HTML页面,后者Web服务器直 接返回Servlet的源代码。 (D)区别:后者需要在web.xml中配置URL路径。 (E)区别:前者使用HTTP协议,后者使用RMI协议。,思考题,假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:HelloServlet org.javathinker.HelloServletHelloServlet /hello那么在浏览器端访问HelloServlet的URL是什么?,简答,1、 简述HTTP协议和一次HTTP请求与响应的过程。 2、 试阐述 JSP 服务器端运行环境的安装与配置。 3、 试编写一个简单的JSP程序,并能够使之在Tomcat服务器上运行。,Q&A,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报