《JAVA编程开发学习基础.doc》由会员分享,可在线阅读,更多相关《JAVA编程开发学习基础.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向对象:世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。传统开发方法存在问题:1.软件重用性差,2.软件可维护性差,3.开发出的软件不能满足用需要面向对象的要素:(1)抽象,(2)封装性(信息隐藏),(3)多态(共享性)面向对象的特征:(1)对象唯一性,(2)分类性,(3)继承性,(4)多态性(多形性)面向对象的开发方法:面向对象开发方法有Coad方法、Booch方法
2、和OMT方法,4.UML(Unified Modeling Language)语言等面向对象的程序设计特点:1.编程模型,2.抽象,3.封装,4.继承,5.多态,6.封装,继承,多态的组合使用Oracle数据库特点:1、完整的数据管理功能:2、完备关系的产品:3、分布式处理功能:4、用ORACLE能轻松的实现数据仓库的操作。ORALCE和Sybase SQL Server的比较:Oracle采用的是并行服务器模式,而Sybase SQL Server采用的是虚拟服务器模式,它没有将一个查询分解成多个子查询,再在不同的CPU上同时执行这些子查询。Hibernate的核心接口:Session、Se
3、ssionFactory、Transaction、Query、Criteria和Configuration。Session接口负责执行被持久化对象的CRUD操作。SessionFactory接口负责初始化Hibernate。Configuration类负责配置并启动Hibernate,创建SessionFactory对象。Transaction接口负责事务相关的操作。Query和Criteria接口负责执行各种数据库查询。JAVA中常见的几种RuntimeException,大约有如下几种:NullPointerException - 空指针引用异常。ClassCastException -
4、类型强制转换异常。IllegalArgumentException- 传递非法参数异常。ArithmeticException - 算术运算异常ArrayStoreException - 向数组中存放与声明类型不兼容对象异常IndexOutOfBoundsException - 下标越界异常NegativeArraySizeException - 创建一个大小为负数的数组错误异常NumberFormatException - 数字格式异常SecurityException - 安全异常UnsupportedOperationException - 不支持的操作异常Struts2拦截器:在AOP
5、(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法。 当请求到达Struts
6、 2的ServletDispatcher时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表(list),最后一个一个地调用列表中的拦截器 OOP 的优点:使人们的编程与实际的世界更加接近,所有的对象被赋予属性和方法,结果编程就更加富有人性化。AOP是OOP的延续,是(Aspect Oriented Programming)的缩写,意思是面向切面(方面)编程。是目前软件开发中的一个热点,也是Spring框架中的一个重要内容。AOP、OOP的区分:是面向不同领域的两种设计思想。OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清
7、晰高效的逻辑单元划分。而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。这两种设计思想在目标上有着本质的差异。AOP 的应用范围:日志记录,跟踪,优化和监控,事务的处理,持久化,性能的优化,资源池,如数据库连接池的管理,系统统一的认证、权限管理等,应用系统的异常捕捉及处理,针对具体行业应用的横切行为。Struts2框架的大概处理流程如下:1. 浏览器发送一个请求。2. 核心控制器FilterDispatcher根据请求决定调用合适的Action。3. 拦截器(Intercepter)自动对请求应用通用功能,如验证
8、等。4. 回调Action的execute方法,该execute方法根据请求的参数来执行一定的操作。5. Action的execute方法处理结果信息将被输出到浏览器中,支持多种形式的视图。Struts 2框架由3部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。Tomcat 7.0的安装配置:1、Tomcat 7.0 (请到官网下载http:/tomcat.apache.org/tar.gz(pgp,md5))的免安装版的配置(假如将Tomcat 解压到D:apache-tomcat-7.0.29)目录,目录结构为:D:apache-tomcat-7.
9、0.291、添加环境变量:在 我的电脑-属性-高级-环境变量2、新建系统变量,变量名:CATALINA_HOME 变量值:D:apache-tomcat-7.0.29 (Tomcat 解压到的目录)。3、在系统变量 Path的最后面添加%CATALINA_HOME%lib;%CATALINA_HOME%libservlet-api.jar;%CATALINA_HOME%libjsp-api.jar 注意它们之间的分号,一定是英文的分号。5、进入Tomcat 目录下的bin目录,双击startup.bat 启动Tomcat 在命令行窗口会出来英文提示。6、浏览器输入:http:/localhos
10、t:8080 可以看到Tomcat的欢迎页面就说明配置成功了,点击右上角上manager连接,输入上面配置的用户名和密码,就可以进入管理页面。MyEclipse中配置Tomcat 7服务器:1, 选择Window菜单下的Preferences命令,将弹出Preferences对话框2, 选择MyEclipse,选择Servers,选择Tomcat 7.x,指定Tomcat 7.x Tomcat Server为Enable,然后指定Tomcat 7.x的安装目录及home directory,如D:apache-tomcat-7.0.29,OK即可。3, 启动配置的Tomcat 7.x服务器,出
11、现信息: Server startup in 2202 ms等字样表示配置并启动成功!JDBC技术访问数据库:JDBC是一种用于执行SQL的Java API,它可以为多种关系数据库提供统一的访问。使用JDBC技术访问数据库步骤:加载驱动创建Connection对象创建Statement对象执行语句使用ResultSet对象关闭ResultSet对象关闭Statement对象关闭连接Connection对象结束。不同数据库的驱动名称:1, MySql数据库的驱动名称:com.mysql.jdbc.Driver2, Oracle数据库的驱动名称:oracle.jdbc.driver.OracleD
12、river3, SqlServer数据库的驱动名称:com.microsoft.jdbc.sqlserver.SQLServerDriver4, DB2数据库的驱动名称:com.ibm.db2.jdbc.DB2Driver连接池技术的核心思想:连接复用,通过建立一个数据库连接池以及一套连接使用、分配、管理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。JNDI技术:JNDI是一个应用程序设计的API,为开发人员提供查找和访问各种命名和目录服务的通用、统一的接口。项目增加Struts 2支持:1、首先修改web.xml,在web.xml中配置Struts
13、 2的核心Filter:web-app version=2.5 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= index.jsp Struts 2 org.apache.Struts 2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter Struts 2 /* 2、将Struts 2包中lib目录下的核心jar文件及需要用到的jar文件复制项目WEB-INF/lib路径下,刷新项目结构。3、在src目录下创建struts.xml文件,
14、代码如下: 拦截器其实就是AOP的编程思想,当然也可以认为是动态代理的一种实现。拦截器的原理:当用户请求Struts 2的Action时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。输入校验有两种:客户端校验和服务器校验。客户端校验一般是通过JavaScript来完成的,通过这种校验也可以减轻服务器的压力。服务器端的校验主要通过服务器端编程的方式来实现。JavaScript:是一种广泛应用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。完成JavaScript的实现包含三个部分:
15、ECMAScript、文档对象模型、服务器对象模型。使用Struts 2标签配置:必须在JSP页面中先使用taglib编译指令导入Struts 2标签库定义:Struts 2的非UI标签:控制标签和数据标签主要用于完成流程控制,以及对ValueStack的控制。数据标签主要用于访问ValueStack中的数据:控制标签可以完成输出流程的控制。Append标签:用于将多个集合对象拼接起来,组成一个新的集合,新集合按拼接的集合对象排序。Merge标签:也是用于将多个集合拼成一个集合,只是新集合不是以拼接集合排序,而是以拼接集合中的元素下标排序。Subset标签:用于取得标签的部分子集。Genera
16、tor标签:用于将制定字符串按分隔符分割成多个子串,临时生成的多个子串可以使用iterator标签来迭代输出。Sort标签:用于对指定的集合元素进行排序,进行排序时,必须提供自己的排序规则,即使实现自己的compatator,自己的Comparator也要实现java.util.Comparator接口。Action标签:允许在JSP页面中直接调用Action,因为需要调用Action,故可以指定需要被调用Action的name及namespace。如果指定了executeresult参数的属性为true,该标签还将把Action的处理结果包好到本页面中来。Bean标签:用于创建一个JavaB
17、ean的实例。创建JavaBean时,可以在该标签内使用标签为该JavaBean实例传入属性。Date标签:date标签主要用于格式化输出一个日期。还可以计算指定日期和当前时刻之间的时差。Include标签:用于将一个JSP页面,或一个servlet包含到本页面中。Param标签:主要用于为其他标签提供参数。Push标签:用于将某个值放到ValueStack的栈顶,可以更简单地访问该值。Set标签:用于将某个值放到指定范围内。url标签:用于生成一个URL地址,可以通过param向url标签指定参数,从而指定URL发送请求参数。Property标签:它的作用就是输出指定值。Struts 2的表
18、单标签可以分为两种:form标签本身和单个表单元素的标签。表单标签的通用属性有:1, 模板相关的通用属性:可以指定该表单标签上所用的模板和主题。2, javascript相关的通用属性:指定鼠标在该标签上操作时的javascript函数。3, 设置表单元素的提示:当鼠标在引动元素上时,系统将出现提示。(tooltip)4, 设置表单元素的CSS样式。Checkboxlist标签:可以一次创建多个复选框,一般用于生成多个HTML标签中的,它根据list属性指定的集合来生成多个复选框。Doubleselect标签:生成一个级联列表框,当选择第一个下拉列表框时,第二个下拉列表框中的内容会随之改变。O
19、ptiontransferselect标签:生成两个用来移动下拉列表项,该标签会生成两个标签,并且会生成系列的按钮,这些按钮可以控制选项在两个下拉列表之间的移动,升降,当提交表单时,两个标签的请求参数都会被提交。Select标签:用于生成一个下拉列表框,通过为该元素指定list属性,系统会使用list属性指定的集合来生成列表框的选项。Radio标签:与checkboxlist几乎完全相同。Optgroup标签:用于生成一个下拉列表框的选项组,因此,该标签必须放在标签中使用。当直接通过select标签的list属性生成的选项,是单独的选项,但通过optgroup标签的list属性生成的选项,则形
20、成一个选项组,对于选项组的组名,是无法选择的。Updownselect标签:用法类似于select,区别是该标签生成的列表框可以支持选项的上下移动。Ajax可以实现局部刷新,典型的应用代表就是谷歌地图。通过Ajax,JavaScript可使用XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,JavaScript可在不重载页面的情况下与Web服务器交换数据。它可以使英特网应用程序更小更快更友好。JQuery的主要特点:轻量级、实现动画更容易、Ajax支持、强大的选择器、优良的兼容性、连式操作、丰富的插件、开源。Hibernate是java应用和关系数据库之间的桥梁,是一个开源
21、的对象关系映射框架,可用来把对象模型表示的java对象映射到关系型数据库表中去。Hibernate不仅管理java对象到数据库表的映射,还提供数据查询和获取数据的方法。Hibernate技术的优点:1、 hibernate是JDBC的轻量级的对象封装,封装了通过JDBC访问数据库的操作。2、 hibernate是一个和JDBC密切关联的框架,不存在兼容性问题。3、 由于是对JDBC的轻量级封装,内存消耗少,可获得较快的运行效率。4、 开发效率高。5、 分布式,安全检查,集群,负载均衡的支持。6、 具有可拓展性。持久化:持久化就是把数据(内存中的对象)保存到可持久保存的存储设备中,主要应用在将内
22、存中的数据存储在关系型数据库中。持久化工作主要在O(对象)和R(关系型数据库)之间进行(ORM)。Hibernate中,映射信息保存在xml格式的配置文件中。Hibernate的配置:1, 将hibernate必需的jar包及用到的jar包复制到项目的lib目录下(WEB-INFlib)。2, 增加hibernate.cfg.xml文件: !DOCTYPE hibernate-configuration PUBLIC -/Hibernate/Hibernate Configuration DTD 3.0/EN True true org.hibernate.dialect.OracleDial
23、ect oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:localhost:1521:orcl dkyy dkyy True net.sf.hibernate.transaction.JDBCTransactionFactory 3, 在hibernate.cfg.xml配置文件中声明实体类和数据库表的映射信息的映射文件,如: Hibernate的关联映射:包括多对一关联、一对多关联、双向关联及多对多关联。Hibernate以对象的方式操作数据,并且通过配置关联,hibernate能自动完成关联数据的加载和其他持久化操作。HQL查询是hiber
24、nate提供的一种面向对象的查询方式。HQL查询的主要功能:1、 支持属性查询2、 支持参数查询3、 支持关联查询4、 支持分页查询5、 提供内置聚集函数HQL基本步骤:获得session,编写HQL语句,创建Query对象,执行查询,获得结果。Criteria的基本步骤:获得session,创建criteria对象,使用restrictions对象编写查询条件,并将查询条件加入criteria对象,执行查询,获得结果。context.xml数据源配置: xeb.xml数据源context配置: onlive DataSource jdbc/onlive javax.sql.DataSourc
25、e Container Spring作为实现J2EE的一个全方位应用程序框架,为开发企业级应用提供了一个健壮、高效的解决方案。Spring框架的特点:1、 非侵入式。业务逻辑应该是纯净的,不会出现与业务逻辑无关的代码。spring框架的API不在业务逻辑上出现。2、 容器。Spring提供容器功能,可以管理对象的生命周期,以及对象与对象之间的依赖关系。3、 IOC。控制反转,即依赖关系的转移,其核心思想就是要面向接口编程。4、 依赖注入。对象与对象之间的依赖关系的实现,包括接口注入、构造注入、set方法注入。在spring中只支持后两种。5、 AOP。面向方面编程。Spring的配置:1、 将
26、spring框架的相关的jar包添加到项目(WEB-INFlib)目录下。2、 在src目录下创建spring的配置文件applicationContext.xml文件:Spring的核心机制就是IOC(控制反转)容器,IOC也叫依赖注入。Spring提倡面向接口的编程,依赖注入的基本思想是:明确地定义组件接口,独立开发各个组件,然后根据组件的依赖关系组装运行。Spring框架整合Hibernate:Spring对Hibernate提供的支持主要包括:将Hibernate需要用到的数据源DataSource、Hibernate的SessionFactory实例及其事务管理器HibernateT
27、ransactionManager移交给Spring容器管理,Spring同时也对Hibernate进行了封装,提供了统一的模板化操作。applicationContext.xml org.hibernate.dialect.Oracle9Dialect !- domain/Users.hbm.xml - Spring整合Struts 2 的步骤:1、 在spring配置文件applicationContext.xml中部署Struts 2的Action。2、 在Struts 2的配置文件struts.xml中配置Action的映射,class属性不再使用类的全名,而是使用applicatio
28、nContext.xml中定义的Action的bean实例的名称。3、 修改web.xml,让Web应用程序启动时自动装载Spring容器。 contextConfigLocation classpath:applicationContext.xml org.springframework.web.context.ContextLoaderListener Spring的事务管理方式:一种是传统的编程式事务管理,即通过编写代码实现事务的管理,包括定义事务的开始、程序正常执行后事务提交、异常时进行事务回滚。另一种是基于AOP技术实现的声明式事务,其主要思想是将事务管理作为一个“方面”代码单独编写,程序只需要关心核心业务逻辑代码,然后通过AOP技术将事务管理的“方面”代码置入到业务类中。事务处理的主要任务:事务的创建、事务的回滚、与事务的提交,是否需要创建事务及如何创建事务是由事务传播行为控制的,通常数据的读取可以不需要事务管理,或者可以指定为只读事务,而对于数据的增、删、改操作,则有必要进行事务处理。如果没有指定事务的传播行为,Spring 2.5默认将采用REQUIRED。常见的事务传播行为:REQUIRED/REQUIRESNEW/SUPPORTS/MANDATORY/NEVER。