版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java WebJava Web开发开发第一课第一课 Java Web Java Web 应用简介应用简介讲师:李玉明讲师:李玉明教材及主要参考书目l孙卫琴Tomcat与Java Web开发技术详解(第2版)电子工业出版社l耿祥义JSP实用教程(第2版)清华大学出版社l孙卫琴精通Struts:基于MVC的Java Web设计与开发 电子工业出版社lJSP程序设计类教材课程目标l理解Web应用及开发的基本概念l掌握Servlet、会话管理、Filterl掌握JSP 、JSP EL及JSTLl编写基于MVC模式的Java Web应用回顾OOP&JAVA课程lJava语言基础变量和控制逻辑l
2、OOP编程封装、继承、多态的实现l异常l常用类l集合类lI/O包l线程本章目的理解WEB的基本概念理解JavaWeb应用的概念理解Servlet容器的概念掌握安装和启动Tomcat服务器的过程创建第一个JavaWeb应用,了解JavaWeb应用的目录结构,在 Tomcat服务器上发布并运行JavaWeb应用的过程。对JSP和Servlet有初步的了解对web.xml文件有初步的了解Web的概念lWeb是一种分布式应用架构,旨在共享分布在网络上的各个web服务器中的所有相互连接的信息。lWeb采用客户/服务器通信模式,http通信协议。使用HTML来连接网络上的信息。HTMLl超文本标记语言,即
3、HTML(Hypertext Markup Language),是用于描述网页文档的一种标记语言。l特点允许直接保护纯文本形式的信息;利用等标记来包含图片和声音等多媒体形式的信息;利用等标记来设定在浏览器的展示形式;利用超链接来连接到其他信息。URLl统一资源定位符(URL,英语UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。l一般由三部分组成:应用成协议;主机IP地址或者域名;资源所在路径/文件名。l格式:应用层协议:/主机IP地址或者域名/资源所在路径/文件名请求-响应基本概念请求-响应基本概念l在图中,我们可以看到一个完整的沟通流程,主要
4、有四个构成要素: l沟通协议沟通协议 某种双方都能明白的沟通机制,例如语言、手势等。 l发起方发起方 沟通的发起者。 l沟通内容沟通内容 交流的具体内容,例如,“你吃了嘛?”。 l响应方响应方 沟通的接收方和响应者 l沟通协议是沟通内容的基础,沟通内容是沟通协议的具体表现形沟通协议是沟通内容的基础,沟通内容是沟通协议的具体表现形式;式;l发起方和响应方的角色并不固定,只有在一个交互回合中才能确发起方和响应方的角色并不固定,只有在一个交互回合中才能确定角色。定角色。 请求-响应基本概念请求-响应基本概念l从图中,我们可以看到人机交互的构成要素就变成了以下三个元素: l沟通协议沟通协议 人和机器都
5、能够明白的数据通讯格式 l请求内容请求内容 人通过某种机制向机器发起的数据请求 l响应内容响应内容 机器接收到数据请求并做逻辑处理之后,进行响应的数据内容l请求-响应模式是一种概念非常宽泛的人机交互模式,是人与计算机进行沟通的一种最基本的行为方式。请求-响应基本概念l基于B / S体系的Web应用是一个典型的基于请求-响应模式的体系架构。对于之前我们所谈到的请求-响应模式的三要素,我们也可以在其中找到对应关系: l沟通协议沟通协议 Http协议 l请求内容请求内容 Http请求 l响应内容响应内容 Http响应 l浏览器发送Http请求到服务器端,服务器端的程序获得了Http请求后进行逻辑处理
6、,并将逻辑处理的结果返回,这个返回的过程我们就称之为Http响应。请求和响应不断的交互过程,构成了所有B / S体系结构的应用构架的基础。如果我们把整个过程的通讯基础冠以一个官方的名称,它就是Http协议 。lWeb开发的核心内容就是指我们如何编写可运行于Web容器的服务器端程序用于进行Http请求的响应、进行逻辑处理并返回处理结果这样一个完整的过程。 HTTP协议lHTTP协议(HypertextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。l可以使浏览器更加高效,使网络传输减少。保证计算机正确快速地传输超文本文档确定传输文档中的哪一
7、部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP请求lHTTP协议是基于请求/响应模式的。客户机与服务器建立连接后,发送请求给服务器。lHttp请求由三个部分构成:请求方法、URI、协议版本号;请求头(Request Header):浏览器类型、所用语言、请求正文类型、请求正文长度;请求正文(Request Content)。POST /hello.jsp HTTP/1.1Accept:img/gif,img/jpeg,*/*Accept-Language:en,zh-en;q=0.5Content-Type:application/x-www-form-urlencodedCont
8、ent-Length:40(空行)Username=Zhangsan&password=123456&submit=submitHTTP请求HTTP 协议使用以下方法发送请求信息:GET 方法这种请求方式最为常见,客户程序通过这种请求方式访问服务器上的一个文档,并由服务器把文档发送给客户程序。POST 方法客户程序通过这种方法发送大量信息给服务器。在请求正文中包含HTML表单数据。HTTP响应l服务器接到请求后,给予相应的响应信息。lHTTP响应也有三个部分构成:HTTP协议版本号、状态代码和描述;响应头(Response Header);服务器类型、正文MIME类型、正文长度
9、等。响应正文(Response Content)。HTTP/1.1 200 OKServer:Apache-Coyote/1.1Content-type:text/html;charset=GBKContent-length:102(空行)Servlet/JSPl用Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP。 Servlet是在服务器端执行的Java程序,一个被称为Servlet容器容器的程序(其实就是服务器)负责执行Java程序。而JSP(Java Server Page)则是一个页面,由JSP容器容器负责执行。lServlet和JSP两者最大的区别就是,Se
10、rvlet以Java程序为主,输出HTML代码时需要使用out.println函数,也就是说Java中内嵌中内嵌HTML;而JSP则以HTML页面为主,需要写Java代码时则在页面中直接插入Java代码,即HTML中内嵌中内嵌Java。Servlet/JSPlJSP便于输出,Servlet便于进行逻辑处理。实际应用中两者常常结合使用,各司其职。lTomcat是Servlet容器容器和JSP容器容器。ltomcat目录下的webapps目录用来保存Web应用程序。lWEB-INF目录无法从浏览器中访问。 WEB-INF/classes下保存的是编译后的Java程序(主要是Servlet),WEB
11、-INF/lib 下保存的是运行时使用的库文件(.jar文件),web.xml则是整个应用程序的配置信息。l其他文件例如 .jsp、图片、Javascript脚本等,都可以直接放到Web应用程序的根目录下。l应用程序的结构应用程序的结构MVCMVC模型模型 l所谓MVC模型就是将数据、逻辑处理、用户界面分离的一种方法。M(Model, 模型模型):用于数据处理、逻辑处理。 V(View,视图,视图):用于显示用户界面。 C(Controller,控制器,控制器):根据客户端的请求控制逻辑走向和画面。l在Java web中,MVC这三个部分则分别对应于 JavaBeans、JSP和Servlet
12、。M = JavaBeans:用于传递数据,拥有与数据相关的逻辑处理。 V = JSP:从Model接收数据并生成HTML C = Servlet:接收HTTP请求并控制Model和ViewMVC MVC工作流程C/S vs B/SlC/S又称Client/Server或客户/服务器模式 ,客户端需要安装专用的客户端软件。 lB/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Internet Explorer等,浏览器通过Web Server 同后台进行数据交互。 C/Sl优点能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应
13、的优点就是客户端响应速度快。l缺点 只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 客户端需要安装专用的客户端软件。安装的工作量,任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。 对客户端的操作系统一般也会有限制。B/Sl优点可以在任何地方进行操作而不用安装任何专门的软件。客户端零维护。系统的扩展非常容易,只要能上网,再由
14、系统管理员分配一个用户名和密码,就可以使用了。l缺点运行速度;数据安全;人机交互 JavaWeb应用的概念n在Sun的Java Servlet规范中,对Java Web应用作了这样定义:“Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范Servlet容器中运行。”n Java Web应用中可以包含如下内容:ServletJSP实用类静态文档如HTML、图片等客户端类(如Applet)描述Web应用的信息(web.xml)应用程序体系结构软件应用程序组件软件应用程序组件-表示逻辑-业务逻辑-数据存取逻辑体系结构
15、的类型体系结构的类型-一层-二层-三层数据存取业务表示数据存取业务表示Web 应用程序体系结构Web 应用程序使用三层体系结构表示层表示层客户端客户端业务层业务层Web 服务器服务器数据库数据库数据层数据层 Servlet容器的概念n Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。n Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。后文均采用Servlet容器的提法。n 目前最流行的Servlet容器软件包括: Tomcat Glassfish Resin J2EE服务器(如Weblog
16、ic)中也提供了内置的Servlet容器ServletServlet容器响应客户请求的过程容器响应客户请求的过程ServletServlet容器响应客户请求的过程容器响应客户请求的过程l当客户请求访问某个Servlet时,Servlet容器将创建一个ServletRequest对象和ServletResponse对象。l在ServletRequest对象中封装了客户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给客户所请求的Servlet。lServlet把响应结果写到ServletResponse中,然后由Servlet容器把响应结果
17、传给客户。安装并运行tomcat服务器lTomcat的下载地址: 最新版8.0.17(2015-01-15发布)l安装步骤:首先安装JDK。接下来,解压Tomcat压缩文件jakarta-tomcat-8.x.zip。解压Tomcat的压缩文件的过程就相当于安装的过程。假定解压至D:tomcat目录。然后设定两个环境变量:JAVA_HOME,它是JDK的安装目录;CATALINA_HOME,它是Tomcat的安装目录。启动和关闭tomcat服务器l启动命令:binstartup.batl关闭命令:binshutdown.batl访问主页:http
18、:/localhost:8080/Web 应用程序开发过程l设计目录结构l编写 Web 应用程序代码l编写部署描述符l编译代码(IDE自动编译)l将 Web 应用程序打包(IDE处理)l部署 Web 应用程序l执行 Web 应用程序创建第一个创建第一个JavaWebJavaWeb应用应用nhelloapp应用的目录结构图:目录结构说明n/helloapp:Web应用的根目录,所有的JSP和HTML文件存放于此目录(WEB-INF子目录除外)n/helloapp/WEB-INF:存放Web应用的发布描述文件web.xmln/helloapp/WEB-INF/classes:存放各种.class文
19、件,servlet类文件也放于此目录n/helloapp/WEB-INF/lib:存放Web应用所需的各种JAR文件。例如,在这个目录下,可以存放JDBC驱动程序的JAR文件nWeb应用发布到Tomcat中的目录为:webapps创建创建web.xmlweb.xml文件文件l创建一个默认的web.xml文件,并把这个文件放到WEB-INF目录中。 创建创建index.htmindex.htm文件文件l这个文件仅仅用来显示一串带链接的字符“Welcome to HelloApp”。以下是index.htm文件的代码:helloappWelcome to HelloApplogin 当前结构及测试
20、结果helloappwebappsWEB-INF创建创建login.jsplogin.jspl它显示登录页面,要求输入用户名和口令,这个页面链接到一个它显示登录页面,要求输入用户名和口令,这个页面链接到一个名为名为DispatcherServlet的的Servlet。helloappUser Name: Password:当前结构及测试结果helloappwebappsWEB-INF创建创建DispatcherServlet.javaDispatcherServlet.javal调用HttpServletRequest对象的getParameter方法读取客户提交的loginForm表单数据,
21、获取用户名和口令,然后将用户名和口令保存在HttpServletRequest对象的属性中,再把请求转发给hello.jsp。public class DispatcherServlet extends GenericServlet private String target=hello.jsp;Overridepublic void service(ServletRequest request, ServletResponse response)throws ServletException, IOException String username = request.getParameter(username);String password = request.getParameter(password);request.setAttribute(USERNAME, username);request.setAttribute(PASSWORD, password);ServletContext context=getServletContext();RequestDispatcher dispatcher=context.getRequestDispatcher(target);dispat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国医科大学《波谱解析》2025-2026学年期末试卷
- 阳泉师范高等专科学校《数字贸易学》2025-2026学年期末试卷
- 中国矿业大学《微观经济学》2025-2026学年期末试卷
- 延边大学《旅游目的地管理》2025-2026学年期末试卷
- 2026八年级上志愿服务活动
- 拳击教练职业前景分析
- 中风康复健康指导
- 人工智能发展终极阶段
- 2024年公共安全开学第一课观后感个人感想作文
- 2024大学自我鉴定(31篇)
- GB/T 46878-2025二氧化碳捕集、运输和地质封存地质封存
- 2026中国侨联直属事业单位招聘9人备考题库及答案详解(夺冠系列)
- 2026年1月浙江省高考(首考)历史试题(含答案)
- 基于雨水花园的2025年海绵城市学校建设可行性研究报告
- 河海大学介绍
- 【高中语文】《玩偶之家(节选)》课件+统编版高二语文选择性必修中册
- 混凝土挡墙施工工艺方案
- 2025年国家义务教育质量监测八年级心理健康测试题及答案
- 企业内训师培训教程与实践工具包
- 长输管线施工关键技术方案
- 石材护理合同范本
评论
0/150
提交评论