简单的Web应用实例.ppt_第1页
简单的Web应用实例.ppt_第2页
简单的Web应用实例.ppt_第3页
简单的Web应用实例.ppt_第4页
简单的Web应用实例.ppt_第5页
已阅读5页,还剩43页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 简单的Web应用实例,教师:陈海挺 E-mail:,/javaeeteacher,目标,掌握JDK的安装; 掌握Tomcat的安装; 对Web应用有初步的认识; 掌握Web应用的文档结构; 掌握Web应用的基本配置; 掌握JSP的运行原理; 掌握Servlet的运行原理; 了解MVC模式。,/javaeeteacher,主要内容,环境搭建 实例演示 Web应用文档结构 配置端口、应用、默认应用和欢迎文件 Servlet运行原理 JSP运行原理 MVC模式,2.1 动手操作:环境搭建,2.1.1 运行环境 2.1.2 安装JDK 2.1.3 安装Tomcat服务器,/javaeeteacher,2.1.1 运行环境,Web服务器 应用服务器 JDK JRE,/javaeeteacher,2.1.2 安装JDK,获取JDK 安装JDK 配置环境变量 测试JDK 具体过程参加教材2.1.2节。,/javaeeteacher,2.1.3 安装Tomcat服务器,具体安装过程参见书上2.1.3节。,/javaeeteacher,2.2 实例:登录,2.2.1 功能演示 2.2.2 创建Web应用 2.2.3 编写web.xml 2.2.4 页面文件 2.2.5 模型JavaBean 2.2.6 Servlet控制器 2.2.7 运行测试,/javaeeteacher,实例结构图,/javaeeteacher,文件、分层及调用关系,/javaeeteacher,2.2.1 功能演示,/javaeeteacher,2.2.2 创建Web应用,创建文件夹bookstore,位置:webapps 创建一个子文件夹WEB-INF WEB-INF中创建web.xml WEB-INF中创建classes文件夹和lib文件夹 JSP文件和HTML文件直接放在bookstore下面。,/javaeeteacher,2.2.3 编写web.xml,/javaeeteacher,2.2.4 页面文件,登录界面login.jsp 登录成功的界面success.jsp 登录失败的界面failure.jsp 注:界面代码参见教材2.2.3节。,/javaeeteacher,2.2.5 模型JavaBean,代码参见书上2.2.5节。,/javaeeteacher,2.2.6 Servlet控制器,代码参见教材2.2.6节。,/javaeeteacher,2.2.7运行测试,先启动服务器 访问程序:8080/bookstore/hello.jsp http表示协议 表示主机IP地址,也可以写主机名字,8080表示服务的端口 bookstore表示应用 hello.jsp是要访问的资源。,/javaeeteacher,2.3 Web应用文档结构,每个Web应用都有一个根目录。可以把JSP文件、HTML文件和图片文件等与页面相关的文件直接放在根目录下。但是为了便于管理,通常会建立若干子目录把文件进行分类管理。一般会按照各自功能的不同把Web应用分成若干个模块,把每个模块相关的文件放在一个子目录中。,2.3 Web应用文档结构,例如,使用images目录存放图片资源,使用common目录存放共享资源等。 另外,在Web应用中有一个重要的子目录W EB-INF,用于存放服务器的配置文件以及在服务器端运行的类文件和一些标签文件等,该目录中的文件是不能通过浏览器访问的。,2.3 Web应用文档结构,/javaeeteacher,2.3 Web应用文档结构,WEB-INF文件夹 WEB-INF目录中主要有如下几个文件夹或文件: classes文件夹:存放本应用的所有类文件以及properties文件(属性文件)。 lib文件夹:也是用于存放类文件的,只是这些文件都是以压缩包(.jar)的形式存在的。 web.xml文件:用于描述Web应用的配置信息。,2.4 配置端口、应用、默认应用和欢迎文件,2.4.1 配置端口 2.4.2 配置应用 2.4.3 配置欢迎文件,/javaeeteacher,2.4.1 配置端口,在server.xml中修改(位于tomcat安装目录的conf文件夹中),/javaeeteacher,2.4.2 配置应用,在server.xml中的之前提添加: 如果想设置应用为默认应用,设置path即可,/javaeeteacher,2.4.3 配置欢迎文件,访问应用的时候,如果不输入文件名,系统会访问欢迎文件 欢迎文件在每个应用的配置文件web.xml中配置,可以有多个,/javaeeteacher,2.5什么是Servlet,Servlet是用Java语言编写的运行在服务器端的小应用程序,能够接收Web客户端的请求,并能对Web客户端进行响应,通常是通过HTTP(HyperText Transfer Protocol)协议进行工作的。 可以认为Servlet是服务器端的Applet。只是Applet运行在客户端,而Servlet运行在服务器端。,2.5.1 Servlet的主要方法,Servlet是一个Java类,通常会有3类方法,分别是: init方法,用于初始化。 destroy方法,用于释放资源。 service方法,服务类方法,对用户的请求进行处理,并对用户进行响应,几乎所有处理功能都在这里完成。这类方法可以有多个,最常用的是doGet和doPost方法。,2.5.2 Servlet运行原理,1.Servlet的工作过程如下 Servlet容器接收到客户端的请求时,先判断用户所请求的Servlet对象是否存在。如果不存在,则加载Servlet类、创建Servlet对象并实例化,然后调用init方法进行初始化。 容器创建request和response对象,并且创建一个线程,调用Servlet对象的service方法(间接调用doGet方法或者doPost方法)。 service方法产生响应,容器将响应发回客户端。 容器销毁reqeust和response对象以及相应的线程。 注意: 加载Servlet类、创建对象、调用初始化方法init和销毁方法destroy都只有一次。 当Web应用被卸载或者服务器被关闭的时候,系统卸载Servlet,调用destroy方法释放资源。,2.5.2 Servlet运行原理,/javaeeteacher,2.5.2 Servlet运行原理,2.Servlet的加载有两种方式: 第一次请求的时候加载。 服务器启动的时候加载。,2.5.3 Servlet的主要功能,从JSP(输入)获取请求的信息 对信息进行验证、转换 调用业务逻辑方法 根据执行的结果进行处理,/javaeeteacher,2.6 JSP运行原理,由于使用Servlet编写页面程序显得非常繁琐,因此,Sun公司后来在Servlet的基础上推出了JSP。在JSP文件中,可以直接书写HTML标签,并嵌入JSP标签以及Java脚本,很大程度的简化了动态Web页面的开发。 虽然JSP和Servlet在语法上有较大区别,但JSP实质上最终是作为Servlet在服务器上运行的。也就是说,所有的JSP文件最终会被Web服务器自动转换为Servlet并加载运行。,2.6JSP运行原理,JSP在服务器端的工作过程如下: 当服务器第一次接收到客户端对JSP文件的请求后,由JSP引擎将对应的JSP文件自动转换成Servlet。 JSP引擎调用服务器端的Java编译器对Servlet代码进行编译,生成字节码文件。 服务器将字节码文件加载到内存运行。 运行结果一般为HTML格式的文件,返回给客户端。 注意: 只有第一次访问JSP文件的时候需要把JSP文件转换成Servlet并进行编译,再次访问时只要该JSP文件没有被改动,JSP引擎就直接调用已加载的Servlet。所以,第一次访问JSP文件的响应速度较慢。,2.6 JSP运行原理,JSP的运行原理图如下所示:,2.6 JSP运行原理,运行原理图参见图2.26。,/javaeeteacher,2.7 MVC模式,MVC模式是一种软件开发模式 M是Model,表示模型,主要完成系统的逻辑处理。 V是View,表示视图,主要完成与用户的交互。 C是Controller,表示控制器,主要建立模型与视图之间的关联。,/javaeeteacher,2.7 MVC模式,2.7.1 分层 2.7.2 传值 2.7.3 MVC模式在Java Web中的应用 2.7.4 如何实现MVC模式,/javaeeteacher,2.7.1 分层,/javaeeteacher,2.7.2 传值,视图层与控制层之间值的传递 从视图层到控制层 通过表单 在请求字符串之后使用问号加参数的方式(例如,:8080/bookstore/login?userid=zhangsan&userpass=lisi)。 信息被封装到request对象中,要获取传递的信息通过request的getParameter方法和getParameterValues方法。 从控制层到视图层,/javaeeteacher,2.7.2 传值,视图层与控制层之间值的传递 从视图层到控制层 从控制层到视图层 使用request对象 控制层把信息保存在request中 request.setAttribute(“user“,user); 视图通过表达式语言获取 姓名:$user.username 密码:$user.userpass,/javaeeteacher,2.7.2 传值,控制层与模型层之间值的传递 从控制层向模型层传递信息: 在调用构造方法的时候传递; 调用专门的初始化方法赋值或者通过调用setter方法赋值; 通过业务方法的参数传递; 从模型层向控制层传递信息 通过方法的返回值。,/javaeeteacher,2.7.3 MVC模式的应用,JSF JSF框架中提供了一个中心控制器FacesServlet完成所有的控制 编写配置文件faces-config.xml,描述文件之间的跳转关系,以及使用JavaBean,/javaeeteacher,2.7.3 MVC模式的应用,Struts 1 提供了一个中心控制器ActionServlet 编写配置文件struts-config.xml,/javaeeteacher,2.7.4 如何实现MVC模式,采用MVC模式,所有问题的考虑方式基本完全相同,分下面3步。 任何一个功能都是先从用户的角度考虑: 用户如何提交请求 系统如何向用户展示结果。 主要使用JSP页面来完成,可以根据输入输出功能所涉及的元素设计JSP页面。,/javaeeteacher,2.7.4 如何实现MVC模式,考虑功能如何实现,所有的功能最后都是通过方法来实现。 考虑这个方法应该属于已经存在的某个模型的方法,还是不属于任何已经存在的模型,对于前者只需要在原有模型中增加方法即可,对于后者需要创建新的模型; 考虑这个方法的定义,包括方法的名字、参数、返回值、异常和执行过程。 这个过程属于MVC模式中M部分的设计。,/javaeeteacher,2.7.4 如何实现MVC模式,(C部分的设计)最后考虑输入界面、功能和输出界面之间如何关联: 需要从输入界面获取哪些信息; 需要调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论