JavaWeb应用开发原理与技术第14章.ppt
《JavaWeb应用开发原理与技术第14章.ppt》由会员分享,可在线阅读,更多相关《JavaWeb应用开发原理与技术第14章.ppt(12页珍藏版)》请在冰点文库上搜索。
![JavaWeb应用开发原理与技术第14章.ppt](https://file1.bingdoc.com/fileroot1/2023-5/7/81f1ce22-dc44-4c93-9ece-e0588f2792e3/81f1ce22-dc44-4c93-9ece-e0588f2792e31.gif)
JavaWeb应用开发原理与技术,计算机科学与工程学院徐建波2010.9,第14章Model2JSP+Servlet+JavaBean,第14章Model2JSP+Servlet+JavaBean,14.1Servlet14.1.1Servlet技术14.1.2Filter14.2MVC模式14.3Model214.4Model2应用14.4.1系统功能分析与设计14.4.2构建开发环境14.4.3项目的实现重点:
MVC模式,Model2应用难点:
Model2学时:
4小时,14.1Servlet,学习之前,同学们先回忆一下用户平时的上网过程:
(1)打开浏览器;
(2)输入网址;(3)等待;(4)浏览器显示出要访问信息.下一步,用户通过浏览器在网页上继续可能的操作是:
(1)在网页上单击超链;或者,
(2)在网页上填写表单,并提交。
不管哪种操作,都是浏览器访问Web服务器过程,过程如下:
(1)浏览器根据用户输入的请求在网络上找到相应的Web服务器;
(2)Web服务器把这个请求交给文件管理器,后者找到相应的文件(JSP或Servlet),加载并执行这个文件。
执行的结果通常是HTML文档;(3)Web服务器把HTML文档返回给浏览器;(4)浏览器将HTML文档解析成网页显示给用户。
通过学习JSP,我们了解到JSP实际上被JSP引擎(如Tomcat)编译成Servlet,也就是说,JSP实质上还是Servlet。
那么,什么是Servlet呢?
14.1Servlet,Servlet是SunMicrosystems公司利用Java语言实现类似CGI(公共网关接口)的服务器端编程技术。
Servlet是Java语言编写的、运行在Web服务器端的程序。
能够接收客户端的请求,目的是与客户端进行交互,产生动态Web内容。
Servlet作为J2EE的三大基础技术(JSP,Servlet和JavaBean)之一,是目前流行的开发企业Web应用的轻量级框架(Struts、Spring和Hibernate)的技术基础。
Servlet作为平台独立的Java类,必须运行在支持Java技术的Web服务器中。
Servlet的优势主要体现在它能利用Java语言的所有的优点,能访问Java平台提供的大量的API。
故在Web应用中,Servlet主要用于流程的控制,页面生成则由其衍生技术JSP来完成。
14.1Servlet,Servlet实际上是一个Java类,通常包括3类方法:
Init()方法,用于初始化;destroy()方法,用于释放资源;Service类方法,服务类方法用于处理用户的请求、并作出响应。
包括doGet()和doPost()方法,doGet()响应用户get方式请求,doPost()响应用户post方式请求(通常表单提交使用post方式,超链接使用get方式)。
Servlet的运行原理:
14.1Servlet,第一个Servlet程序:
1.Servlet程序的编辑(HelloServlet.java,P199页)2.编译成HelloServlet.class类文件。
需要导入包servlet-api.jar和jsp-api.jar。
有两种解决方法:
(1)将Tomcat6.0lib下的此两个包复制到java安装目录下的jre1.6.0libext文件夹中;
(2)设置环境变量:
右击“我的电脑”-系统属性-环境变量-用户变量classpath-编辑,加入D:
Tomcat6libservlet-api.jar;D:
Tomcat6libjsp-api.jar3.部署文件。
在Tomcat安装目录下的webapps文件夹下创建目录helloServlet子目录,然后在该目录下创建WEB-INF目录,接着在WEB-INF目录下创建classes和lib子目录。
在classes目录下要创建文件夹common,将HelloServlet.class文件拷贝其下。
4.编写web.xml的配置。
5.最后就是运行实现,在浏览器中输入:
http:
/127.0.0.1:
8080/helloServlet/helloworld.jsp,14.1Servlet,过滤器FilterFilter主要功能在于它能通过某种拦截机制对请求进行预处理或对响应进行后处理,藉此修改或调整请求和响应的资源。
Filter常用来完成诸如认证处理、日志、图像格式转换或加密等功能。
Filter的创建必须实现javax.servlet.Filter接口并提供一个无参构造函数。
例如:
上例中helloworld.jsp的编码为“UTF-8”,由于采用的字符集可能不同,输入中文提交后会输出乱码。
下面就通过Filter来实现将所有请求的编码方式设为“UTF-8”以支持中文的正确显示,主要代码如下所示(EncodingFilter.java)和web.xml文件P202页最后就是运行实现,在浏览器中输入:
http:
/127.0.0.1:
8080/helloServlet1/helloworld.jsp,14.2MVC模式,MVC(Model-View-Controller,模型视图控制器模式)是软件工程中的一种软件架构模式。
MVC模式将整个应用系统分为三个基本部分:
模型(Model)、视图(View)和控制器(Controller)。
MVC模式的结构如图所示。
M,V,C,14.3Model2,通常将Web应用的架构根据MVC模式划分为三个层次:
1.视图层:
视图层包括前端的HTML、XML、JSP及Applet等,主要充当用户的操作接口,负责数据的输入及结果的输出。
该层的功能对应于MVC模式中的视图部分。
2.控制层:
控制层的主要工作是控制整个应用的流程。
控制层将视图层提交的数据,交付给业务逻辑层处理,并将结果返回至视图层。
控制层的角色是介于视图层和业务逻辑层之中,该层的功能相当于MVC模式中的控制器部分。
3.业务逻辑层:
业务逻辑层是应用的核心部分,它的主要功能包括:
数据处理、数据的维护及业务逻辑的实现。
该层的功能对应于MVC模式中的模型部分。
在Model2中,JSP负责数据显示逻辑,JavaBean负责业务逻辑,Servlet负责流程控制。
Servlet不参加显示工作,只负责产生中间数据,并将这些数据以JavaBean的形式存储在session或其它对象中。
14.4Model2应用,通过Model2来开发一个简单的、实现用户登录的小型系统,以阐述如何将Model2应用至Web应用开发中。
用户登录系统可以分为三个模块,各个模块的主要功能如下:
用户登录模块:
为系统的主界面。
用户需要输入用户名和密码来登录系统,模块应能根据输入信息,查找到用户所对应角色,并根据角色分别引导用户进入管理员或普通用户页面。
在系统主界面中,还包含了注册链接,引导用户访问注册页面。
用户注册模块:
用于注册一个新用户,要求用户输入用户名、密码、性别、邮箱及年龄等信息,系统自动将新用户的角色设置为普通用户。
注册过程中必须保证输入的合法性。
公共模块:
主要用于页面中文信息的正确显示。
14.4Model2应用,系统使用基于MVC模式的Model2开发方式,将用户登录模块和注册模块划分为三层:
视图层、控制层与业务逻辑层,使用JSP技术来实现模块的页面显示:
包括index.jsp;register.jsp;regsuccess.jsp;userPage.jsp;manageUser.jsp使用Servlet技术来实现系统的流程控制:
包括LoginServlet.java;RegisterServlet.java使用JavaBean组件来实现业务实体对象及业务处理逻辑:
包括User.java;UserDAO.java;UserDAOImpl.java而公共模块则用一个支持中文编码的Filter来实现:
包括EncodingFilter.javaWeb应用的配置文件web.xml对使用的Servlet进行了配置。
谢谢!