基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt

上传人:知****量 文档编号:78672170 上传时间:2023-03-18 格式:PPT 页数:133 大小:3.33MB
返回 下载 相关 举报
基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt_第1页
第1页 / 共133页
基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt_第2页
第2页 / 共133页
点击查看更多>>
资源描述

《基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt》由会员分享,可在线阅读,更多相关《基于MVC的Java-Web项目实战完整版课件全书电子教案教材课件(完整).ppt(133页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第 一一 章章在线图书购物需求分析在线图书购物需求分析1目标目标q了解如何进行需求分析q了解如何进行详细设计2概述概述q本课程通过一个完整的项目:在线图书购物(BookShop)来讲解MVC中各方面的知识qBookShop实现了网络购物的基本功能,包括用户注册、登陆、浏览商品、购物以及查看订单等q在第一章中,我们主要学习对项目进行需求分析以及数据库的建模3系统需求系统需求q软件开发第一步:明确系统需求q系统要实现什么功能q具体的要求是什么 qBookShop实现购物网站的基本功能,包括:q登录和注册q浏览商品q查询购物车和结账 4系统需求系统需求q登录和注册q已注册用户才可以在网站购物q注册

2、时系统会对注册信息进行验证,以确保注册信息正确性 q购物结账时用户需要登录信息 q登录时验证用户名密码5系统需求系统需求q商品浏览q根据图书ID显示商品列表q浏览时允许将商品放入购物车6系统需求系统需求q结账q用户可以查看购物车中的商品q用户可以修改购物车中商品的数量q用户可以删除购物车中的商品q用户选择结账生成订单7系统需求系统需求q用例图8系统功能描述系统功能描述q用户注册q用户通过注册得到网络商店帐号 9系统功能描述系统功能描述q用户注册时序图q注册成功进入主页(并自动以新账号登录)q注册失败返回注册页面10系统功能描述系统功能描述q用户登录q在首页,用户点击登录连接进行登录 11系统功

3、能描述系统功能描述q用户登录时序图q登录成功,返回到系统的首页q登录失败,转入到重新登录页面 12系统功能描述系统功能描述q浏览商品q在首页显示图书信息13系统功能描述系统功能描述 q购物q在浏览商品时选择加入购物车进行购物q在购物车中可修改商品的数量,删除商品 14系统设计系统设计q 系统架构设计q系统遵循多层次的架构设计q每个层所负责的功能也是不相同的q从上到下分别是视图层、控制层、模型层、数据访问层、数据库层15系统设计系统设计q业务实体设计q设计域模型,创建域模型实体对象q设计关系数据模型q根据关系数据库创建对象16系统设计系统设计q业务实体设计q在图书商店中有以下的业务实体:q用户(

4、UserInfo)q图书商品(Book)q订单(Order)q订单项(Item)17系统设计系统设计q业务实体关系图18总结总结q软件开发的第一步就是明确系统需求q多层次的架构设计一般从上到下分别是视图层、控制层、模型层、数据访问层、数据库层 19第第 二二 章章MVC简介简介20课程目标课程目标q掌握MVC架构的概念q掌握MVC架构中Model的实现q掌握MVC架构中View的实现q掌握MVC架构中Control的实现21本章简介本章简介qMVC的基本概念qMVC在Web开发中的应用q通过示例来了解MVC的执行过程22MVC介绍介绍qOOD的特点q将程序分解成根据具体的对象而设计的一系列元素

5、q允许开发者控制开发中复杂性的增加q定义严格的出口语义(明确接口,隐藏细节)q适当使用对象之间的关系(继承、包容、使用和协调)23MVC介绍介绍q可视化接口(用户界面)在OOD方面的不足 q设计中将面向操作的界面布局同面向对象的设计混合在一起,导致对象大量耦合q不同的用户有不同的接口,导致大量类的扩展q可视化接口的改变会增加应用开发的复杂性 24MVC介绍介绍qMVC弥补了可视化接口/OOD的不足qMVC 三层架构 q模型(Model)q视图(View)q控制(Control)qMVC通过创建三个层将面向对象的设计与可视化接口分开25MVC介绍介绍q模型(Model)q包含完成任务所需的所有的

6、行为和数据q一般由许多类组成26MVC介绍介绍q视图(View)q一个视图就是一个程序的可视化元素q视图显示从模型中提供的数据 27MVC介绍介绍q控制器(Controller)q控制器将模型映射到视图中q控制器接收用户输入,创建或修改适当的模型对象,并将模型对象传送到视图q每个视图有一个控制器q控制器在需要时还负责创建其它的视图和控制器28MVC介绍介绍qMVC模型关系图29MVC介绍介绍q使用MVC的优点q允许开发者将一个好的面向对象的设计与用户接口隔离开来q允许在同样的模型中容易地使用多个接口q允许在实现阶段对接口作大的修改而不需要对相应的模型进行修改30MVC在在 Web系统中的应用系

7、统中的应用qWeb开发模式一(Model 1)q使用一系列的JSP页面来实现应用的业务逻辑,同时还要向用户显示界面 31MVC在在 Web系统中的应用系统中的应用qModel 1的缺点q代码重复q难以维护q可扩展性差q测试困难32MVC在在 Web系统中的应用系统中的应用qWeb开发模式二(Model 2)q以MVC架构为基础,使用Servlet和JSP的体系结构q用Servlet作为控制器,接收用户请求,影响模型中的修改,并向用户提供视图 33MVC在在 Web系统中的应用系统中的应用 qModel 2执行流程 34MVC在在 Web系统中的应用系统中的应用 qModel 2 View层q代

8、表系统的显示,完全存在于Web层q由JSP,数据对象和Custom Tag组成q在项目设计时,可以先设计出所有可能出现的Viewq可以使用模板方法设计View层35MVC在在 Web系统中的应用系统中的应用qModel 2 Model层q代表了商业规则和商业数据,存在于业务逻辑层和Web层。q系统有些数据需要存储于数据库中,也有一些不需要记录在数据库里q可以把存取数据库的对象模式化为DAO对象。DAO中可以封装与具体数据库的交互细节36MVC在在 Web系统中的应用系统中的应用 qModel 2 Controller层qController对象协调Model与Viewq一般通过Servlet,

9、来接收用户请求,它可以决定下一个Viewq Controller另一个重要的功能是同步View和Model的数据37MVC示例示例q以BookShop系统中,管理员查看用户信息这个功能为例q在BookShop数据库中有一个存贮客户信息的表USERINFO q在一个页面中只有一个超链接,当用户点击“显示客户列表”超链接时,应用程序就把所有的USERINFO显示出来 38MVC示例示例q时序图 39MVC示例示例Sq运行结果40总结总结qMVC架构把系统分为3个模块:模型(Model)、视图(View)和控制器(Controller)q模型(Model)对象代表了商业规则和商业数据q界面(View

10、)代表系统的显示qController对象协调Model与View,把用户请求翻译成系统识别的事件41第第 三三 章章JavaBean42目标目标q了解JavaBean在MVC模式中的作用q掌握JavaBean编写规范q掌握DAO的概念43概述概述q本章主要讲解MVC架构中,Model层的实现技术qModel层一般使用JavaBean来实现q数据访问模式:DAO模式44JavaBean介绍介绍qJavaBean是一种可重复使用的软件组件,是一种用Java语言编写的特殊结构的类qJavaBean可分为两种:q有用户界面(UI)的JavaBeanq没有用户界面的JavaBean,主要负责处理事务(

11、如数据运算、操作数据库)45JavaBean介绍介绍qJavaBean的编写要遵循Sun的JavaBean编写规范q标准的JavaBean有以下几个特征 q是一个公共的(public)类q必须有一个默认构造函数(无参构造函数)q可以有多个属性,但是这些属性要通过getXXX()和 setXXX()方法设置和获取属性q可以有多个可供调用的方法46JavaBean介绍介绍qJavaBean的属性q属性可以设置为读写、只读或只写q属性的读写性可以通过JavaBean实现类中的两个方法来实现47/读属性public String getUsername()/写属性public void setUser

12、name(String username)JavaBean介绍介绍q例:Userinfo类是一个简单的JavaBean,它只包含了属性 48通常把包含数据属性的JavaBean称为数据数据BeanJavaBean介绍介绍q可读写属性 49package com.xt.beans;import java.util.*;public class UserInfo implements java.io.Serializable/filedprivate String username;public String getUsername()return username;public void set

13、Username(String username)this.username=username;JavaBean介绍介绍q只读属性 50public class Userinfo implements java.io.Serializable private String name;/数据字段public String getName()return this.name;JavaBean介绍介绍q只写属性 51public class Userinfo implements java.io.Serializable private String name;/数据字段public void se

14、tName(String name)this.name=name;需要注意:boolean类型属性是通过get/set来设置的 JavaBean介绍介绍qJavaBean方法q是指类中的公有方法q对数据的操作进行有效的封装q使我们能够更加容易的操作数据52DAO模式模式qDAO:Data Access Object 数据访问接口qDAO主要进行数据库操作,夹在业务逻辑与数据库资源中间 53DAO模式模式q例:创建一个ShopDB的类,来实现与数据库的基本交互 54public class ShopDB private String dbURL=jdbc:mysql:/localhost:330

15、6/shoponline;private String dbUser=root;private String dbPassword=root;private Connection conn=null;private Statement stmt=null;private PreparedStatement pstmt=null;private ResultSet rs=null;如果数据库迁移只需修改ShopDB类就可以了DAO模式模式q在UserinfoManager类中使用ShopDB55public class UserinfoManager public static Userinfo

16、 getUserinfo(String userid)Userinfo userinfo=null;String sql=select*from Userinfo where userid=?;ShopDB db=new ShopDB();Connection conn=db.getConnection();PreparedStatement pstmt=conn.prepareStatement(sql);pstmt.setString(1,userid);ResultSet rs=pstmt.executeQuery();DAO模式模式q有了ShopDB类和UserinfoManager类

17、以及Userinfo类以后,我们只需要调用UserinfoManager类的方法就可以来得到想得到的数据,而不用考虑其具体是如何实现的56总结总结qJavaBean可分为两种:一种是有用户界面的JavaBean。还有一种就是没有用户界面,主要负责处理事务的JavaBeanq一个标准的JavaBean有以下几个特征:JavaBean是一个公共的类、JavaBean必须有一个默认构造函数、JavaBean可以有多个属性,但是这些属性要通过getXXX()和setXXX()方法来访问、JavaBean可以有多个可供调用的方法qJavaBean的属性可以设置为 读写、只读或只写qDAO是Data Ac

18、cess Object数据访问接口,是与数据库打交道。在业务逻辑与数据库资源中间57第四章第四章Servlet目标目标q掌握Servlet的概念q掌握Servlet在MVC中的作用q掌握Servlet的doPost方法和doGet方法概述概述q在使用MVC架构的Web应用中,控制器Controller一般使用Servlet来实现q本章将介绍Servlet的概念,生命周期,以及如何编写Servlet程序Servlet介绍介绍qJava Servlet是与平台无关的服务器端组件,它运行在Servlet容器中qServlet容器负责Servlet和客户的通信以及调用Servlet的方法qServle

19、t和客户的通信采用“请求/响应”模式 Servlet介绍介绍q每一个JSP页面就是一个ServletqJSP在执行时,Web服务器先要把JSP页面翻译成Java源代码,而这个源代码就是一个ServletqServlet可以完成JSP的所有功能 Servlet介绍介绍qServlet在MVC中的工作方式q接收客户的请求q根据请求调用JavaBean进理q将处理结果进行存储q将控制转到JSP页面,让JSP客户显示处理结果ServletServlet介绍介绍q要实现Servlet程序,需要创建一个Servlet类,该类必须继承javax.servlet.http.HttpServletq以“显示客户

20、列表”为例,处理客户请求的Servlet如下:qServlet中的几个常见方法qinit()方法:Servlet初始化qdestroy()方法:Servlet销毁时调用qdoGet()方法:处理Get请求qdoPost()方法:处理Post请求qdoGet()方法和doPost()方法中的参数qHttpServletRequest对象包含请求信息qHttpServletResponse对象包含响应信息Servlet介绍介绍Servlet介绍介绍public void doPost(HttpServletRequest request,HttpServletResponse response)t

21、hrows ServletException,IOException String action=request.getParameter(action);/获取请求参数 String jspPage=./admin/userinfo.jsp;if(action=null)|(action.length()1)action=default;if(default.equals(action)jspPage=./admin/userinfo.jsp;else if(displaylist.equals(action)List userinfos=UserinfoManager.getUserinf

22、os();/调用JavaBean的方法 request.setAttribute(userinfos,userinfos);/在request范围存储数据 jspPage=./admin/userinfoDisplayList.jsp;RequestDispatcher rd=this.getServletContext().getRequestDispatcher(jspPage);/指定转发路径 rd.forward(request,response);/转发请求Servlet分析分析q在Servlet规范中,所有的Servlet必须实现java.servlet.Servlet接口qjav

23、a.servlet.Servlet接口方法:方法方法描述描述init初始化ServletdestroyServlet结束时调用getServletInfo得到有关Servlet的信息getServletConfig得到与Servlet实例相关联的javax.servlet.ServletConfig对象service容器调用这个方法向Servlet传递一个请求来进行处理。Servlet必须处理这个请求,并提供响应q抽象类GenericServlet实现了Servlet接口q在GenericServlet中service()方法被定义成抽象方法q抽象类HttpServlet扩展了GenericS

24、ervlet,覆盖了 Servlet方法 Servlet分析分析qServlet接口到用户Servlet的关系图 Servlet分析分析q作为HttpServlet的子类,用户类可以根据需要覆盖一些方法方法方法描述描述doGet处理HTTP Get请求 doPost处理HTTP Post请求doPut处理HTTP Put请求(很少使用)doDelete处理HTTP Delete请求(很少使用)init和javax.servlet.Servlet接口init一致destroy和javax.servlet.Servlet接口destroy一致getServletInfo和javax.servlet

25、.Servlet接口getServletInfo一致Servlet分析分析qServlet生命周期3个阶段:初始化阶段、响应客户请求阶段和终止阶段 Servlet生命周期生命周期qweb.xml文件的内容由J2EE规 范描述。每个Web应用都需要 有这个文件qServlet在web.xml中的配置 Servlet在在Web.XmlWeb.Xml中的描述中的描述Servlet在在Web.XmlWeb.Xml中的描述中的描述qServlet声明 shoponline userinfoAction shoponline userinfoAction UserinfoAction com.wish.s

26、hopOnline.servlets.UserinfoAction Servlet在在Web.XmlWeb.Xml中的描述中的描述qServlet映射 UserinfoAction /servlet/UserinfoActionq对UserinfoAction的URL请求示例:显示客户列表ServletRequest和和ServletResponseq当容器接收到请求后,会调用HttpServlet的service()方法qservice方法根据请求方式的不同调用doGet()或doPost()方法qdoGet()和doPost()方法有两个参数:qHttpServletRequest和Htt

27、pServletResponseq分别继承自ServletRequest和ServletResponseServletRequest和ServletResponseqServletRequest接口中封装了客户请求信息q客户请求方式q请求参数名/值对q客户端正在使用的协议q发出客户请求的远程主机信息 ServletRequest和和ServletResponseqServletRequest接口提供的部分方法 方法方法描述描述getParameter 根据给定的参数名返回参数值getAttribute根据参数给定的属性名返回属性值setAttribute在ServletRequest中设置属性

28、(包括属性名和属性值)getInputStream返回客户请求数据的输入流(二进制流)getContentType返回客户请求数据MIME类型getRemoteAddr返回远程客户主机的IP地址getRemoteHost返回远程客户主机名getRemotePort返回远程客户主机的端口ServletRequest和和ServletResponseqServletResponse接口为Servlet提供了返回响应结果的方法 方法方法描述描述getOutputStream返回可以向客户端发送二进制数据的ServletOutpuStream对象getWriter返回可以向客户端发送字符数据的Prin

29、tWriter对象setContentType设置响应数据的MIME类型getContentType返回响应数据的MIME类型setCharacterEncoding设置响应数据的字符编码getCharacterEncoding返回响应数据的字符编码ServletRequest和和ServletResponseq例如在UserinfoAction中,需要从客户请求中获取请求参数,使用方法如下:String action=request.getParameter(action);qJava Servlet是与平台无关的服务器端组件,它运行在Servlet容器中qServlet在MVC中的作用是接

30、收客户的请求,根据请求调用JavaBean处理请求,然后把处理结果转发给JSP页面q作为Servlet类必须实现java.servlet.Servlet接口qdoGet()方法:处理通过HTTP GET动作发送数据的请求qdoPost()方法:处理通过HTTP POST动作发送数据的请求qServlet的生命周期可以分为3个阶段:初始化阶段、响应客户请求阶段和终止阶段qweb.xml文件主要用途就是向容器描述如何部署这个Web应用程序qServletRequest接口中封装了客户请求信息qServletResponse接口为Servlet提供了返回响应结果的方法总结总结第第 五五 章章JSP中

31、使用中使用JavaBean目标目标q了解如何使用JSP显示数据q掌握JSP标签访问JavaBeanq掌握request、page、session和application范围概述概述q当Servlet处理完请求,就需要将处理结果返回给用户。在MVC模式中使用JSP来实现View的功能q本章重点是如何在JSP中呈现结果,包括在不同的作用域访问JavaBean访问访问JavaBeanq在UserinfoAction中把客户信息的集合存储在request中,代码如下:.List userinfos=UserinfoManager.getUserinfos();request.setAttribute(

32、userinfos,userinfos);jspPage=./admin/userinfoDisplayList.jsp;RequestDispatcher rd=this.getServletContext().getRequestDispatcher(jspPage);rd.forward(request,response);访问访问JavaBeanquserinfoDisplayList.jsp中读取request中存储的客户信息集合,并在页面循环显示 JSP标签访问标签访问JavaBeanqJSP中使用大量Java代码和HTML标签混合在一起,使程序难以阅读q可以使用特定的JSP标签访

33、问JavaBean,以减少JSP网页中的程序代码 JSP标签访问标签访问JavaBeanq使用标签 JSP标签访问标签访问JavaBeanq可以通过JSP标签来访问JavaBean属性 q将JavaBean的属性输出到网页q给JavaBean的属性赋值作用域作用域qJ2EE环境支持一种通用的域(scope)机制,允许应用的不同部分可以交互数据 qJ2EE提供了四个独立的域:q应用域(ServletContext)q会话域(HttpSession)q请求域(ServletRequest)q页面域(PageContext)JavaBean的范围的范围q在标签中,scope属性决定了JavaBean

34、对象存在的范围qscope的可选值包括qpage(当前页面内有效,默认值)qrequest(当前请求内有效)qsession(用户会话期内有效)qapplication(应用程序运行期内有效)JavaBean在在request范围内范围内q要在JSP中把JavaBean的值显示出来,当显示好以后,该JavaBean的内容我们就不需要了,此时我们可以把该JavaBean存放在request范围 qUserinfoAction中的代码request.setAttribute(userinfos,userinfos);RequestDispatcher rd=request.getRequestDi

35、spatcher(./admin/userinfoDisplayList.jsp);rd.forward(request,response);JavaBean在在request范围内范围内q在userinfoDisplayList.jsp中读取JavaBeanq问题:这里使用了RequestDispatcher对象的forward()方法进行请求转发。如果使用response的redirect()方法,结果会怎样?JavaBean在在page范围内范围内q这种情况下,客户每次请求访问JSP页面时,都会创建一个JavaBean对象qJavaBean的有效范围是当前JSP页qJavaBean在两种

36、情况下都会结束生命期q当前JSP页通过标记将请求转发到另一个文件 q当前JSP页执行完毕并向客户端发回响应 JavaBean在在session范围内范围内qJavaBean对象被创建后,可以保存于Session的生命周期内,同一个Session中的JSP文件共享这个JavaBean对象q可以把购物车和用户信息放入Session范围内,即在用户整个购物过程中保存这些信息JavaBean在在session范围内范围内qsession中保存的信息JavaBeans在在session范围内范围内q例:用户登录后将用户信息存储在Session范围内。在每个页面的顶部(header.jsp)去读取Sess

37、ion中的用户信息并显示已登录用户的显示结果qJ2EE提供了四个独立的域:应用域、会话域、请求域、页面域q在标签中scope属性决定了JavaBean对象存在的范围,其值为 page、request、session和application。默认属性值为pageqHttpServletRequest.getSession()方法可以返回一个与请求相关的当前HttpSession对象总结总结第第 六六 章章EL表达式和表达式和JSTLq了解JSTL的作用q理解JSTL的核心标签库q掌握和标签目标目标概述概述q通过JSP提供的标准动作来访问JavaBean对象可以减少在JSP页面中的Java代码,但

38、仍有许多Java代码q使用JSTL(JSP Standard Tag Library)可以使页面更加清晰q在userinfoDisplayList.jsp中使用JSTL标记使用使用JSTL.qJSP标记库是可以在JSP页面中使用的定制动作(标记)的集合q基本标准动作和隐式对象都有一个弱点:缺乏编程能力,JSP标记库增加这些能力 q基于标记库广泛的可用性,而且由于标记库得到了标准化,所以有可能创建不带任何脚本元素的JSP页面使用使用JSTLqJSTL可以用于处理编程领域中的以下问题:q设置和删除作用域变量、显示表达式和值、以及捕获异常q条件流程控制 q循环,对集合中或计算循环中的元素进行迭代处理

39、q处理URL以及通过URL加载资源 q格式化数字和日期 q访问关系数据库q字符串处理(一组EL可访问函数)JSP标准标记库标准标记库JSP标准标记库标准标记库JSTL前缀URI范例核心标签库chttp:/.jsp/jstl/coreI18N格式标签库fmthttp:/.jsp/jstl/xmlSQL标签库sqlhttp:/.jsp/jstl/sqlXML标签库xmlhttp:/.jsp/jstl/fmt函数标签库fnhttp:/.jsp/jstl/functionsq使用这些标签能够代替原来的一些功能 等价于qqqq 表达式操作表达式操作q 用于显示数据的内容 q属性有:value,defau

40、lt,escapeXmlq示例表达式操作表达式操作q 用于将变量储存至JSP范围中或是JavaBean的属性中 q属性有:var,value,scope,target,property表达式操作表达式操作表达式操作表达式操作q 用于移除变量q属性:var,scopeq示例表达式操作表达式操作q用来处理产生错误的异常状况,并且将错误信息储存起来q示例 /可能发生错误的部分流程控制流程控制qqqq 流程控制流程控制q 类似一般程序中用的if q属性:test,var,scope 流程控制流程控制q、用于进行多重处理 Ms.Mr.迭代操作迭代操作q将集合中的成员循序浏览一遍q属性:var,items

41、,begin,end,step,varStatusq示例 迭代操作迭代操作q 用于浏览字符串中所有成员,其成员是由定义符号(delimiters)分隔的q属性比多一个:delimsq示例 URLURL操作操作qqq q 可以把其他静态或动态文件包含至本身JSP网页 q属性:url,context,var,scope,charEncodingq示例URLURL操作操作URLURL操作操作q将客户端的请求从一个JSP网页重定向到其他文件 q属性:url,contextq示例:URLURL操作操作q 用来产生一个URL地址,或者把该URL保存在一个变量中q属性:url,context,var,sco

42、peq示例 IMG name=img_cart src=购物车总结总结qJSTL可以:设置和删除作用域变量、显示表达式和值、以及捕获异常;条件流程控制;循环迭代处理;处理URL以及通过URL加载资源q表达式操作标签:、和q流程控制标签:、和q迭代操作标签:和qURL操作标签:、和连接池与连接池与Servlet过滤器过滤器第第 七七 章章q了解连接池的概念q掌握连接池的实现q掌握Servlet过滤器目标目标概述概述q数据库连接池用于解决高负载数据库访问造成的性能问题,提高数据库的使用效率q本章将讲解连接池的基本思想,以及如何在Tomcat下使用数据库连接池。另外将介绍Servlet过滤器的使用。

43、连接池简介连接池简介q基于Web程序的,传统的数据库连接q在主程序(如Servlet、Beans)中建立数据库连接 q进行SQL操作,取出数据q断开数据库连接连接池简介连接池简介q连接池基本原理q预先建立一些连接对象放置于内存。当程序需要建立数据库连接时,只须从内存中取一个来用,用完后只需放回内存即可q连接的建立、断开都有连接池自身来管理。可以设置连接池中的连接数、每个连接的最大使用次数等参数数据源简介数据源简介qJDBC中提供了javax.sql.DataSource接口,负责建立与数据库的连接 qDataSource对象可以由Web服务器提供,前提是需要在服务器配置DataSource(包

44、括连接池)q使用JNDI来获得DataSource对象的引用。javax.naming包中提供了Context接口用于查找JNDI命名对象q配置数据源界面配置数据源和连接池配置数据源和连接池在程序中使用数据源在程序中使用数据源q通过如下方法查找数据源,进而获取数据库连接对象import javax.naming.InitialContext;import javax.sql.DataSource;import java.sql.Connection;InitialContext ctx=new InitialContext();DataSource ds=(DataSource)ctx.loo

45、kup(java:comp/env/ShopOnlineDB);Connection cn=ds.getConnection();Servlet过滤器简介过滤器简介qServlet过滤器能够对Servlet容器的请求和响应对象进行检查和修改,提供过滤作用qServlet过虑器是在Servlet、JSP或者html文件接收到请求前被执行q通过添加过滤器可以扩展和增强应用程序Servlet过滤器简介过滤器简介qServlet过滤器的过滤过程 创建创建Servlet过滤器过滤器qServlet过滤器必须实现javax.servlet.FilterqFilter接口含有三个方法init(FilterC

46、onfig)doFilter(ServletRequest,ServletResponse,FilterChain)destroy()创建创建Servlet过滤器过滤器q例:只有用户名为admin的已登录用户才可以访问/admin目录下的资源package com.wish.shopOnline.servlets;public class AdminFilter implements Filter public void destroy()public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain)

47、throws IOException,ServletException Userinfo userinfo=(Userinfo)(HttpServletRequest)req).getSession().getAttribute(userinfo);if(userinfo!=null&userinfo.getName().equals(admin)chain.doFilter(req,res);/可以访问,通过 else /提示用户不能访问所请求的资源,或进行页面跳转 public void init(FilterConfig config)throws ServletException 总结总结q连接池基本的思想是预先建立一些连接放置于内存对象中以备使用。qJDBC中提供了javax.sql.DataSource接口,负责建立与数据库的连接q使用JNDI来获得DataSource对象的引用。javax.naming包中提供了Context接口用于查找JNDI命名对象qServlet过滤器能够对Servlet容器的请求和响应对象进行检查和修改qServlet过滤器必须实现javax.servlet.Filter接口q在web.xml文件中通过filter元素和filter-mapping元素来部署一个过滤器

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁