数据库系统实验项目2014-2015上课程_第1页
数据库系统实验项目2014-2015上课程_第2页
数据库系统实验项目2014-2015上课程_第3页
数据库系统实验项目2014-2015上课程_第4页
数据库系统实验项目2014-2015上课程_第5页
已阅读5页,还剩184页未读 继续免费阅读

下载本文档

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

文档简介

Java2EnterpriseSSHFramework1123Struts45PartPartⅠ 式,这种新程序开发模式称为浏览器/服务器(B/S)模式。 静态网页是指没有数据库、不含程序、不可交互和不超文本标示语言。文本是由命令组成的描述格、等。 gateintergace)通用网关接口的简称。它 Perl(PracticalExtractionandReportBourne 或者Tcl(ToolCommandPHP(HypertextC和流编写语言,以至于一般的“cgi程序”就是Perl程序。 print语句来实现,开发者几乎无法从程序中看出最后输 系出名门 和 标记、普通文本、命令以及件等。利用可以向网页中添加交互式内容(如表单),也可以创化的部分加入的了一些特有的,这些又称为 草根中走出的巨人 的缩写。是一种开放源代码的编程语言,与和Java、Perl以及自创新的语法。具有非常强大的功 Scriptlet)和JSP 扩展名就是.jsp。 和Scriptlets, Apache、JBoss和厂商提 模型-视图-控制器b 模型的变化-机制。 什么是使 ObjectModel进行动态显示和交互Ajax是由JesseJamesGarrett创造的,称它为 +异步JavaScript和 Explorer中首次引入,它是MooTools,Prototype,

Part工作原理,Web.xml,基本语法,编译指令, ,内置对象,Servlet,Filter,Listener.PartⅡ学习 否正确,将JSP页面转换为Servlet(Servlet就是用JavaServlet源文件生成class文件,这一阶段是转换阶段。 在上发布应用之前,首先要了解 解读Java应用通过一个基于的发布描述符文件来配置(1)Servlet的定义(2)Servlet的初始化参数(3)Servlet以及JSP的映射(4)Filter的定义 e文 (7)资 (8)环境变量的定义 网页数据就是JSP服务器不处理的部分,例如的内 编译指令主要用来提供整个JSP网页相关的信息,并且用令:page、include和taglib。 所的的各个页面之间浏览时,这个applicationJSP个内置对象的范围(scope),分别为pageContext<request< session<application都具有方法setAttribute( )和getAttribute( )。个Servlet实例,相当于这个JSP产生的Servlet类的this,可以通过对象实例的属性和函数。在JSP页面中,out对象是javax.jsp.JspWriter的一个实例,是一个输出config表示一个javax.servlet.ServletConfig对象。该对象用于存取Servlet实例的初始化参数。Servlet

b器并不是Servlet,他们并不实际创建一个请求。他们是请求到达一个Servlet前的预处理程序,在响应离开Servlet后的后处理程序。就像你将在后面的例子中看到器器可以客户端的请求、服务端的操作等。通过监 增加一个HttpSession时,给人数加1。器还有一生命周期的。编写器需要实现相应的接口,常用的接口: PartStruts体系结构,Action,Result,Interceptors,Tags,EL,OGNL,Theme,View, PartⅢStrutsStruts这个名字来源于在建筑和旧式飞机中使用的支持金 好地帮助Java开发者利用J2EE开发应用。Struts主要采用Servlet和JSP技术来实现,把Servlet、JSP、自定义发的,也是致力于组件化和代码重用的J2EE框架,后来Struts与两合并,称为Sturts2。框架可以极大地提高开发效率,Rickard 的过滤器并把所有的请求(/*)映射到这个过滤器。<web-<filter-name>struts2</filter-<filter- <filter-name>struts2</filter-<url-pattern>/*</url-</filter- </web-客户端提起一个(HttpServletRequest)请求,即在浏览器中输。请求被提交到一系列()过滤器等)、。 示例程序——login.jsp(1)<s:form<table<td><s:submit <td><s:reset示例程序importcom.annlee.constant.StrutsConstant;publicclassLoginActionextendsActionSupport{privateStringusername;privateStringpassword;{return}{this.username=}publicString{

publicStringexecute()throws{if{put("user",}{}}}return}{this.password=}示例程序<web-appversion="2.4"xmlns="h <filter-name>struts2</filter-<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter- <filter-name>struts2</filter-<url-pattern>/*</url- 示例程序<!DOCTYPEstruts"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN" <actionname="login"<result<result<result示例程序perties(5)<!DOCTYPEvalidatorsPUBLIC"-//OpenSymphonyGroup//XWorkValidator <field<field-validator<message<field<field-validator<messageAction是Struts2编程的部分,在模式中担任控制 Property-DrivenAction将直接用自己的字段来充当性和它set、get方法。它一般用在页面表单比较简单的情 口,它是所有action执行结果的通用接口。在struts- 页面跳转DispatcherResult是最常用的一种result,也是Struts2默认的result,称为通用result。action执行完后,请求 <resultname="success"<paramRedirectResult与DispatcherResult作用类似,也是实ChainResult是一种result类型,它基于自己的器stack(堆栈)和result调用一个action,这样允许一个 个ChainResult,然后通过一个ChainingInterceptor拦器 请求通过一个或多个Interceptor。多个器组合在一器栈InterceptorStack)。interceptor 化相应的interceptor对象,然后串成一个列表(list),最后一个 Struts2 ,还包 <%@taglibprefix="s"uri="/struts- 被设置为字符串的,然后它们会解析%{ 大括号之间的内容都会基于valuestack求值。注意3个规

“%{”开始并以“} ”结束,这些字符在对表达式求 模板 Struts提供的Html ):小段代码,在JSP、 te(模板):一个文件,通常使用JSP或者Marker编写,能被特定 tags)输出 ):一系列tem tes打包在一起, result中可以配置使用 模板是基 和模 来装载的。模 使struts.ui.tem teDir属性,在perties里来定义(缺 的两个位置将会被搜索(按照顺序) te.ftl(2)在classpath里 te.ftl选 上 属性。如<s:textfield 的 属性设置。这可以轻松地在几个选择的地方使用 会话范围内的以选 (5)session会话范围 (6)application会话范围 内的struts.ui.theme 属性(缺省是如果想要改变整个应用 ,调整pertiesStruts2自带 取数据所自定义的语言。开始EL只能在JSTL中使用, !象图形导航语言)。可以从http://获取有一个根对象的概念(在Struts2中,它就是中(作为上下文 ),包括session、application、request、attr这些。这些对象与根对象无关,它们只是存在于context的一边(保存在context中)。所 这些对象时需要使用#来告诉不要在根对 result都是为了整合不同的视图技术而设计的。1.Velocity是一个基于java的模板引擎(temteengine)2.marker也是一个模板引擎,允许JavaServlet保持图形设模板用servlet提供的数据动态地生成HTML。4.XSLTResult用XSLT来转换action对象到XML在Struts中使 Marker允许Javaservlet保封完成的。模板用servlet提供的数据动态地生成 Marker编写的文件后缀名为“.ftl”。在struts中对 Marker提供了完美的支持,struts- Marker类型的result:<action<result marker">test- 录application)、classpath。这个顺序对于在完全编译的jar中提供模版很理想,但是也同时支持在应 中定义这些模版来覆盖jar中的模版文件。事实上,这就是为什么可以覆盖struts中默认的UItags和Tags的原理。 variable)指定一个路径(文件系统中的任意一个 )。 如,在JSP中可能这样创建一个form:<s:form <s:textfieldlabel="Firstname"<s:submit入到工程的classpath。其次,struts-default.xml <actionname=“test” <resultname="success"(1)值栈(value(2)action上下文Velocity是提供的一般Tag的扩展.只要简单的了解这些的方式:#sxxx(...)...end(),就可以马上开始使用了。注意:“#s”后面是没空格的,它与名称直接连在一起(虽然不会发生什么但在阅读上实在很不舒服,而在Struts中使用java开源报表库。它将.jrxml(XML源文件)编译为.jasper(=编译后版本)文件,它可以被转换为多种格式输出、、XLS和dist/jasperreports-X.jar mons-*.jar (all the-exceptforlogging)lib/itext-X.jar gettersetter方法的类,可以作为值对象来使用)。.jasper文件。这些模版将会被用来设计结果报表。对于ireport)来定义。将文件到工程的 和lastName字段(这两个属性来自 .class)。这配置struts.xml。Jasper类型的result不是struts2缺省就提供了的,而是作为一个plugin代 程序的技术方面。Struts的 java.util.Local类中,而action则通过一个定义与PublicLocalegetLocale()ActionContext获得locale的值。Struts2通过查询为了给不同的地区提供不同的字符串信息,需要一个应用程序的源文件来为给定的locale找到正确的字符串信息。幸运的是,以Java.util.ResourceBundle抽象类的方式提供了这些功能。带来了资源包的实现:和java.util.ListResouceBundle。这两个类会自动加载含有 信息的属性文件(*.properties文件)。当被调用的时候,会查找正确的名字,如 。资源包按照下面的顺序搜索(1)ActionCperties(2)BaseCperties (象从第一步重复执(5)perties(类所在 和每个 直到 。自(7)全局资源属性(perties里定义(1)通过配置属性或者编程的方式默认资源包的功能。修改perties文件中的:struts.custom.i18n.resources.i18n”); 。 属性中使用 PartⅣJava数据库最原始的方法是通过来完成的。(JavaDataBaseConnectivity,java数据库连接)是一种用于执行语句的JavaAPI,可以为多种关系数据库提供统一,它由一组用Java语言编写的类和接口组java.sql包提供了JDBC Connection类:负责 将传入的命令事先编好等待使用,当有单一的指 建立数据库连接,获得Connection对象根据SQL语句建立Statement对象或PreparedStatement对象用Connection对象执行SQL语句,获得结果集ResultSet对象 结果集ResultSet对象中的数据,保存某个Java对象中如果是修改或者删除操作需要对数据发commit命令最后依次关闭各个Statement对象和Connection对象的全称是Object/RelationMap和数据库的桥梁。并不是一种具体的产品,而是一类 为了解决的问题,Sun公司首先推出了EntityEJB的解响了EntityEJB的实际应用。 它仅仅停留在SQLMap O/RMap 体系结构(Architecture) 持久化类(Persistent 连接池C3P0,它位于lib Session类对于Hibernate开发人员来说是一个最重要的和CriteriaCallback类。当一些有用的 发生时――例如持久对象 session.save(user); <hibernate-map的表所在的和/或catalog名称。 。class设定标识符 的类名.可写它的完整类名如: 作为主键,而不是使用一个键。 括它们的包装类)和以及对应的标准类型。集合类(Collections)映射Java提供了丰富的集合类库,它们可分为3List:集合中的对象按索引位置排序,可以有重复对象,允许按照对Hibernate允许把以上3种Java。 过load()或get()函数来获取持久化对象,这里就需要使Hibernate提供了完善的按条件(QueryByCriteria,的功能。也可以用本地SQL(native描述查询,Hibernate额外提供了将结果集(result 直接使用些数据库的特性,或者用于将原有的JDBC应用迁移到 使用注释配置Java注释的更为巧妙的新方法。借助新的 文件,注释直接嵌入到Java类中,并提供一种强大及灵 出显示功能,最近发布的JavaIDE也为其提供了有力的支规范旨在提供一种标准化的Java持久性机制。由于Spring的是个轻量级(Lightweight),实现了 ofControl)模式的容器,基于此所建立的测试(Testability)的特性,使得整个应用程序在架构 JavaMail1.4,JAX-S2.0等)。 提取 基于注释的Servlet和Portlet 控制器风格配置扩展 认可的支持,支持6r机制。Spring框架的jar文件,兼容AOP,Spring,Springb模块,SpringC框架。什么是Spring包括两个重要的概念:IoC(Inversionof Injection, 什么是何谓轻量级所谓“轻量级”是相对于“重量级”来讲的。在Spring 化”了企业级应用的开发。这里的“简化”是相对的。 b 透明的把P集成到软件中去。 的是那些如果选择Spring或者其他的使用特定的J2EEAPIs户非常简单地看到这些class的JavaBean的属性。 口代替classes减弱编程成本,降至最小。Spring的设计使依靠很少的APIs建立应用成为可能。在Spring应用中应用构架。可以选择作为或者localEJBs扩展业务 者像Hibernate一样的O/Rmap ofControl,IoC)原理。Spring框架所提供 在Spring中,BeanFactory是IoC容器的接口。它的职 L数。而beanfactory将通过调用beandefintionreader从多个文件中bean定义。获取ObjectgetBean(String):返回以给定名字 ,否则将返回一个新建ObjectgetBean(String,Class):返回给定名称的bean实例,ClassgetType(Stringname):返回给定名称的bean的ClassbooleanisSingleton(String):判断给定名称的bean定义(或String[]getAliases(String):返回给定bean名称的所有别名配置对象通过调用staticfactory方法来实例化bean,而不是使用 对bean采用统一名约定将会使配置更加简单易懂。而且在使用Spring时,如果要发通知(advice)给与一组名称相关的bean时,这种简单名方式将会带来额外的果一个bean有多个id,那么其他的id在本质上将被认为是别名。为了提供多个名称,需要通过alias属性来加以指定。而 <aliasname="fromName" ofControl,IoC)名字的由来。Setter通过调用无参构造函数或无参static工厂方法实例化set()方法(又被称为setter)的DI injection,也就是 注使用Constructorinjection,由于使用Constructorinjection时并不如Setter injection时拥有setXXX()这其它的协作者 性的值设置为对容器中的另外一个bean的。该 使用 对于像阵列、javautilList、java.util.Set、java.util.Map等集合实例,在注入前必须填充入一些实它却比普通的JavaBean多了很多特性。并且使用者不但象实例的一张“处方(recipe)”或者模板。就如class建对象的作用域,而不必在JavaClass级定义作用域。Spring支持五种作用域(其中有三种只能用在基于的SpringApplicationContext)。Spring提供了几个标志接口(markerinterface),这些 利用J2EE应用的一部分自动启动。当然仍然可以采用编程 利用 singleton提前进行实例化。提前实例化意味着作为配置所有的singletonbean。通常情况下这是件好事,因个延迟初始化bean将告诉IoC 同的是,ContextLoaderListener不能在与Servlet2.2兼Spring2.5顺应这种趋势,提供了完全基于注释配置Bean、装配BeanSpringIoC替换原来基于的配置。在本例中有3个类,它们分别是Office、Car和Boss,使用容car和office这两个私有成员变量进行自动注入。所以对成员变量使用@Autowired后,甚至可以将sette方法(setCar()和setOffice())从Boss中删除在Setter由于Boss()构造函数有两个入参,分别是car和office,为Boss(Carcar,Office office)的入参来创建Boss在默认情况下使用注释进行自动注入时, 匹配的Bean。@Autowired(requiredfalse),这等于告诉Spring:在找不到匹配BeanSpring不但支持自己定义的@Autowired的注释,还支持几个由规的动注入,面@Resource认按自动注入罢了。 注释就 Spring2.0引入了一种更加简单并且更强大的方式来自定SpringSpring用纯Java实现,它不需要专门的编译过程。Spring不需要控制类装载器层次,因此它适用于J2EE 响到SpringOAPI的情况下加入对成员变量器支持,但Spring并没有实现成员变量器。配置在Spring2.0中最激动人心的增强之一是关于它更@AspectJ使用了Java5的注解,可以将切面 Java类。AspectJ5发布的AspectJproject 种@AspectJ风格。Spring2.0使用了和AspectJ5一样的注解,使用了AspectJ提供的一个库来做切点(Spring并不依赖于AspectJ

温馨提示

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

评论

0/150

提交评论