




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 31 java 开发项目总结 闽南师范大学计算机科学与工程系 Java 应用项目开发总结报告 1、 In Action 根据添加信息来考虑表中的字段,进行建表。使用 PD 画出ER 图。要注意字段的数据类型的确定以及建表要满足三范式,减少数据冗余; 表建好后,根据表中各个字 段来建 pojo 中的属性。要注意属性的数据类型和字段的数据类型要一致; 根据 pojo 中的属性确定 bean 的属性,直接拷贝即可,用于页面展示。在 bean 中,统一使用 String 类型变量接收前台页面传递的参数;每个 HTML 表单对应一个 bean。 HTML 表单中的字段和 bean 中的属性一一对应。 自顶向下,依次定出 action、 manager、 dao。先写出轮廓,2 / 31 跑通整个流程,再写具体实现,一点点累加,便于调试错误; 根据数据实体和具体业务逻辑,使用 StarUML 画类图,进行OOA 和 OOD,灵活运用设计模式。 API 命名: CRUD: add, get, update, delete, list 严格区分单复数形式,单数表示对象,复数表示对象集合。 对象、属性最好单个单词。 前后台都要校验。 按照资源方式组织数据接口,对前端开发帮助很大。即通过REST 来实现资源的增、删、改、查。 软件开发,思路最重要!代码开发多了,思路就有了。 a、一个版本一个版本递增的开发; 每个版本增加一点内容; 3 / 31 b、总结开发思路;第一步怎么做,下一步怎么做? c、用文档记录开发的思路,即第一个版本开发实现了什么功能以及开发步骤,下一个版本实现了什么功能等等? d、程序员进行程序开发时,不要仅仅停留在代码,要深入到底层的运行机制,才可以对程序的运行机制有更准备的把握; 网页模板 request 到文件 web 客户 title banner include: body include: 一步一步的定位。根据结果进行分析。 4 / 31 分页控件 假分页: 基本思想是将所有的数据从数据库中取出,只显示有用的部分。靠的是程序的算法,实际上就是在 ResultSet 上进行操作。 真分页: 任何数据库都会提供分页的函数操作: Oracle、 MySQL、 SQL Server 基本思想是在数据库中编写特定的 SQL 语句。程序中只读取有用的部分,没用的部分不会加载到内存中。 2、 TIPS 、 VO 就是 POJO。 5 / 31 、先做完基本功能,然后对输入的数据进行验证。主方法中代码尽可能少,再考虑代码的可重用性。 、当发现代码中重复地复制 /粘贴时,就可以考虑将之形成为一个类进行调用。 、在类的设计中,永远不要去继承一个已经实现好的类,只能继承抽象类或实现接口。 、一个设计良好的类,应重写 Object 类中的equals()、 hashCode()、 toString()方法。 、在 action 层中接收参数,要写健壮,要做空指针处理。 、业务逻辑放到 manage 层,如 if.else.不要放在 action 层,放在 manage 层处理。 、 dao 层要写健壮,传入的是 bean 或 map,返回的是 bean 或 list。 、查询:所有的记录总数以及查询第几页的数据; 6 / 31 、多思考,尝试用不同、多种方法去解决问题。 、当程序中有 0、 1 这样的数字或字符串出现时,最好用常量代替。常量名很重要,做到见名知意。 、 spring 针对每一层都有一个配置文件; ibatis 有2 个配置文件。 sqlmap 有 namespace,每个 实体类都对应一个 xml 配置文件。 、类设计,编写时先完成基本功能的实现,然后再对实现功能的代码结构进行优化。 2、 PS Java Web 开发环境: JDK、 IDE、 java web 服务器 JDK,一般指 sun 公司发布的 JDK,也有其他的 JDK,如 IBM的 JDK、 BEA 的 JRocket 等。从 Java 开始, Java web 技术也称为 Java EE。 Java EE 应用程序的运行需要 Java EE 类库的支持。 7 / 31 安装好 JDK后,设置 JAVA_HOME环境变量以及将 JDK下的 bin目录添加到 PATH 环境变量。 eclipse 需要 Java 运行环境。 Eclipse WTP 是 Eclipse 官方提供的 web 开发工具。 Java web 服务器在 Java EE 规范中也叫做容器。 web 容器在启动时,从文件中读取配置信息,装载 web 应用。 web 容器运行时,不会检测、 struts 配置文件的更新而重新加载它。 若 struts 框架不能处理的异常,会把错误抛给 web 容器。容器会查看文件中是否配置了元素。若存在,则返回元素的子元素指定的错误页面。否则直接将错误抛给用户。 webApp 部署好后,启动 Tomcat 会自动发布 webApp。首先是实例化 Filter,并调用其 init()方法初始化 。然后根据的数值来依次加载 servlet,并调用其 init()方法进行初始化。 8 / 31 若没有为 servlet 配置属性,则当 web 应用启动时 servlet容器不会加载这个 servlet,只有当用户首次访问此 servlet时才加载。 web 调试时,一定要服务器以调试模式启动。然后在程序中打断点,通过浏览器访问,这样程序运行到断点处就会暂停运行。 jsp 放到 WEB-INF 文件夹中,可防止外界直接通过 URL 来访问 Jsp 页面,此时 jsp 一定要是 servlet 或 action 的后继页面,才可以被访问到。 EL 表达式是规范,需要 Tomcat 支持的。 Tomcat6 才支持 EL表达式。 编码 用户提交的查询数据,默认采用的是 ISO-8859-1 编码。 (utf-8); /设置 request 编码方式,即设置使用 utf-89 / 31 来解析请求参数; (utf-8); /设置 response 编码方式 JNDI JNDI:为某个 java 对象起一个名字。如为 Tomcat 中的数据源起一个名字,从而让程序可通过该名字访问该数据源对象。 若 web 应用访问了由 servlet 容器管理的某个 JNDI 资源,需要在中对这个 JNDI 资源的引用声明,表示资源引用的元素为。 session servlet 容器为 HttpSession 分配唯一标识符 sessionID。servlet容器把 sessionID作为 cookie保存在客户的浏览器中。若浏览器禁止 cookie, servlet 容器可重写客户请求的url,把 sessionID 添加到 url 信息中。 HttpServletResponse接口提供了重写 url 的方法: encodeURL(url)。 10 / 31 Spring Framework 【 Java 开源 JEE 框架】 Spring 是一个解决了许多在 J2EE 开发中常见的问题的强大框架。 Spring 提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。 Spring 的架构基础是基于使用 JavaBean 属性的 Inversion of Control 容器。然而,这仅仅是完整图景中的一部分: Spring 在使用IoC 容器作为构建完关注所有架构层的完整 解决方案方面是独一无二的。 Spring 提供了唯一的数据访问抽象,包括简单和有效率的 JDBC 框架,极大的改进了效率并且减少了可能的错误。 Spring 的数据访问架构还集成了 Hibernate 和其他 O/R mapping 解决方案。 Spring 还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如 JTA 或者 JDBC事务提供一个一致的编程模型。 Spring 提供了一个用标准Java 语言编写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务 -如果你需要 -还能实现你自己的aspects。这个框架 足够强大,使得应用程序能够抛开 EJB的复杂性,同时享受着和传统 EJB 相关的关键服务。 Spring还提供了可以和 IoC容器集成的强大而灵活的 MVC Web框架。【 SpringIDE: Eclipse 平台下一个辅助开发插件】 . WebWork 【 Java 开源 Web 开发框架】 11 / 31 WebWork 是由 OpenSymphony 组织开发的,致力于组件化和代码重用的拉出式 MVC 模式 J2EE Web 框架。 WebWork 目前最新版本是,现在的前身是 Rickard Oberg 开发的 WebWork,但现在 WebWork已经被拆分成了 Xwork1和 WebWork2两个项目。 Xwork 简洁、灵活功能强大,它是一个标准的 Command 模式实现,并且完全从 web 层脱离出来。 Xwork 提供了很多核心功能:前端拦截机 (interceptor),运行时表单属性验证,类型转换,强大的表达式语言 (OGNL the Object Graph Notation Language), IoC(Inversion of Control 倒置控制 )容器等。 WebWork2 建立在 Xwork 之上,处理 HTTP 的响应和请求。 WebWork2 使用 ServletDispatcher 将 HTTP 请求的变成 Action(业务层 Action 类 ), session(会 话 )application(应用程序 )范围的映射, request 请求参数映射 。 WebWork2 支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports, XML 等。在中添加了对 AJAX 的支持,这支持是构建在 DWR 与 Dojo 这两个框架的基础之上 . 【 EclipseWork:用于 WebWork 辅助开发的一个 Eclipse 插件】 12 / 31 Struts 【 Java 开源 Web 开发框架】 Struts 是一个基于 Sun J2EE 平台的 MVC 框架,主要是采用Servlet 和 JSP 技术来实现的。由于 Struts 能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。 Struts 把 Servlet、 JSP、自定义标签和信息资源 (message resources)整合到一个统一的框架中,开发人员利用其进行开发时 不用再自己编码实现全套 MVC 模式,极大的节省了时间,所以说 Struts 是一个非常不错的应用框架。【 StrutsIDE:用于 Struts 辅助开发的一个 Eclipse 插件】 Hibernate 【 Java 开源持久层框架】 Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序实用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE 架构中取代CMP,完成数据持久化的重任。 Eclipse 平台下的 Hibernate辅助开发工具 :【 Hibernate Synchronizer】【 MiddlegenIDE】 13 / 31 Quartz 【 Java 开源调度框架】 Quartz 是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目 ,它可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。 Quartz 可以用来创建简单或为运 行十个,百个,甚至是好几万个 Jobs 这样复杂的日程序表。 Jobs 可以做成标准的 Java 组件或 EJBs。 Quartz 的最新版本为 Quartz 。 Velocity 【 Java 开源模板引擎】 Velocity 是一个基于 java 的模板引擎 (template engine)。它允许任何人仅 仅简单的使用模板语言 (template language)来引用由 java 代码定义的对象。 当 Velocity 应用于 web开发时,界面设计人员可以和 java 程序开发人员同步开发一个遵循 MVC 架构的 web 站点,也就是说,页面设计人员可以只关注页面的显示效果,而由 java 程序开发人员关注业务逻辑编码。 Velocity 将 java 代码从 web 页面中分离出来,这样为 web站点的长期维护提供了便利,同时也为我们在 JSP和 PHP 之外又提供了一种可选的方案。 Velocity 的能力远不止 web 站点开发这个领域,例如,它可以 从模板 (template)产生 SQL 和 PostScript、 XML,它也可以被当作一个独立工14 / 31 具来产生源代码和报告,或者作为其他系统的集成组件使用。 Velocity 也可以为 Turbine web 开发架构提供模板服务(template service)。 Velocity+Turbine提供一个模板服务的方式允许一个 web应用以一个真正的 MVC 模型进行开发。 【 VeloEclipse :Velocity 在 Eclipse 平台下的一个辅助开发插件】 IBATIS 【 Java 开源持久层框架】 使用 ibatis 提供的 ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的 Java 对象, 这一层与通过 Hibernate 实现ORM 而言基本一致,而对于具体的数据操作, Hibernate 会自 动生成 SQL 语句,而 ibatis 则要求开发者编写具体的 SQL 语句。相对 Hibernate 等 “ 全自动 ”ORM 机制而言, ibatis 以 SQL 开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为 “ 全自动 ”ORM 实现的一种有益补充, ibatis 的出现显 得别具意义。 Compiere ERP&CRM 【 Java 开源 ERP 与 CRM 系统】 Compiere ERP&CRM为全球范围内的中小型企业提供综合型解15 / 31 决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购 -采购 -发票 -付款、报价 -订单 -发票 -收款、产品与定价、资产管理 、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。 Roller Weblogger 【 Java 开源 Blog 博客】 这个 weblogging 设计得比较精巧,源代码是很好的学习资料。它支持 weblogging 应有的特性如:评论功能,所见即所得 HTML 编 辑 , TrackBack , 提 供 页 面 模 板 , RSS syndication,blogroll 管理和提供一个 XML-RPC 接口。 Eclipse 【 Java 开源 IDE】 Eclipse 平台是 IBM 向开发源码社区捐赠的开发框架,它之所以出名并不是因为 IBM宣称投入开发的资金总数 4千万美元,而是因为如此巨大的投 入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。 XPlanner 【 Java 开源项目管理】 16 / 31 XPlanner 一个基于 Web 的 XP 团队计划和跟踪工具。 XP 独特的开发概念如 iteration、 user stories 等, XPlanner 都提供了相对应的的管理工具, XPlanner 支持 XP 开发流程,并解决利用 XP 思想来开发项目所碰到的问题。 XPlanner 特点包 括: 简单 的模 型规 划, 虚拟 笔记 卡 (Virtual note cards),iterations、 user stories 与工作记录的追踪,未完成 stories 将自动迭代,工作时间追踪,生成团队效率,个人工时报表, SOAP 界面支持。 HSQLDB 【 Java 开源开源数据库】 HSQLDB(Hypersonic SQL)是纯 Java 开发的关系型数据库 ,并提供 JDBC 驱动存取数据。支持 ANSI-92 标准 SQL 语法。而且他占的空间很小。大约只有 160K,拥有快速的数据库引擎。 Liferay 【 Java 开源门户系统】 代表了完整的 J2EE 应用,使用了 Web、 EJB 以及 JMS 等技术,特别是其前台界面部分使用 Struts 框架技术,基于 XML 的portlet 配置文件可以自由地动态扩展,使用了 Web Services 来支持一些远程信息的获取,使用 Apahce Lucene17 / 31 实现全文 检索功能。 主要特点: 1. 2. 3. 4. 5. 6. 7. 8. 提供单一登陆接口,多认证模式 (LDAP 或 SQL); 管理员能通过用户界面轻松管理用户,组,角色 ; 用户能可以根据需要定制个性化的 portal layout; 能够在主流的 J2EE应用服务器上运行,如 JBoss+Jetty/Tomcat,JOnAS; 支持主流的数据库,如 PostgreSQL,MySQL; 使用了第三放的开源项目,如 Hibernate, Lucene, Struts; 支持包括中文在18 / 31 内的多种语言 ; 采用最先进的技术 Java, EJB, JMS, SOAP, XML; JetSpeed 【 Java 开源门户系统】 Jetspeed 是一个开放源代码的企业信息门户 (EIP)的实现 , 使用的技术是 Java 和 XML. 用户可以使用浏览器 , 支持 WAP协议的手机或者其它的设备访问 Jetspeed 架设的信息门户获取信息 . Jetspeed扮演着信息集中器的角色 , 它能够把信息集中起来并且很容易地提供给用户 . Jetspeed 具有如下的特征 : ? ? ? ? ? 19 / 31 ? ? ? ? ? ? ? ? ? ? ? 即将成为标 准化的 Java Portlet API 基于模板20 / 31 的布局 , 包括 JSP和 Velocity 通过开放的内容同步技术支持远程 XML内容交换 定制默认的主页 使用数据库进行用户认证 内存缓存技术 , 加快页面的响应 通过 Rich Site Summary 技术 , 支持同步内容 和 Cocoon, WebMacro, Velocity 集成 . Wireless Markup Language (WML) 支持 使用 XML 格式的配置文件注册 portlet. 完整的 Web Application Archive (WAR) 支持 Web 应用程序开发的基础设施 可以在本地缓存远程内容 与 Avantgo 同步 可移植到所有支持和 Servlet 的平台 与 Turbine模块和服务集成 ? ? ? ? ? 21 / 31 ? ? 可以根据用户 , 安装媒体类型和语言的不同设定 , 产生不同的个性化服务 持续化服务使得所由的 portlet 能够容易的存储每个用户的状态 , 页面和 portlet 使用皮肤技术使得用户可以选择 portlet 的颜色和显示属性 自定义功能是的管理员可以选择 portlet 以及定义个人页面的布局 在数据库中存储 PSML 通过 Jetspeed的安全 portlets管理用户 , 组 ,角色和权限 基于角色对访问 portlet 进 行控制 JOnAS 【 Java 开源应用服务器】 JOnAS 是一个开放源代码的 J2EE 实现,在 ObjectWeb 协会中开发。整合了 Tomcat 或 Jetty 成为它的 Web 容器,以确保符合 Servlet 和 JSP 规范。 JOnAS 服务器依赖或实现以下的Java API: JCA、 JDBC、 JTA 、 JMS、 JMX、 JNDI、 JAAS、 JavaMail 。 【 Java 开源应用服务器】 JFox 是 Open Source Java EE Application Server,致力于提供轻量级的 Java EE 应用服务器,从开始, JFox 提供了一个支持模块化的 MVC 框架,以 简化 EJB 以及 Web 应用的开22 / 31 发 ! 如果您正在寻找一个简单、轻量、高效、完善的 Java EE开发平台,那么 JFox 正是您需要的。 JFox 拥有以下特性: ? ? ? ? ? ? ? ? ? 23 / 31 ? 重新设计的 IoC 微内核,融入 OSGi 模块化思想 设计成嵌入式架构,能够和任何 Java Web Server 集成部署 支持 EJB3, JPA 规范,支持容器内和容器外两种方式运行EJB 和 JPA 组件 支持 EJB 发布成 Web Service 采用 JOTM(http:/)提供事务处理,支持两阶段提交 (2PC) 采用 XAPool(http:/projects/xapool/) 提供 XA DataSource,支持智能连接池管理 内置 MVC 框架,实现自动 Form Mapping,Validator,Uploading 等功能,支持JSP/Velocity/Freemarker 页面引擎,并支持直接在 Action中注入 EJB 支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势 提供 Manager 管理模块,可以查看和管理各种运行时参数 提供根据 JFox 特色重写的 Petstore 应用模块 徐州工业职业技术学院 Java 项目开发实训项目报告 完 成 人: 所在班级: 指导教师: 完成时间: 2016 年 6 月 14 日 所在系部: 信息管理技术学院 24 / 31 一设计项目名称: 网上书店 二小组成员及分工 尚 * a、界面设计; b、查询图书信息; c、浏览图书信息并实现分页功能; d、删除图书信息; e、用户登录; f、根据客户编号查询订单信息 张 * a、数据库的总体设计; b、添加图书信息; c、修改图书信息; d、用 户注册; e、添加客户订单。 f、总体页面链接 三项目功能需求分析 1. 用户登录功能 2. 用户注册功能 3. 浏览所有图书并实现分页功能 4. 添加图书功能 5. 修改图书功能 6删除图书功能 7添加客户订单 25 / 31 8. 根据客户编号查询订单信息 图总体流程图 四项目数据库设计 1、 BookInfo 表: 表 BookInfo 表 2、 Custormer 表: 表 Custormer 表 3、 UserInfo 表: 表 UserInfo 表 4、 OrderInfo 表 表 OrderInfo 表 26 / 31 四张表的关系图如下 : 图关系图 五完成的主要功能 1.登录功能 详细介绍:输入正确的用户名和密码可以登录到页面或页面,如果用户名或密码错误,弹出对话框,提出用户名或密码错误。 主要用到: a、 entity 实体层:创建用户登录的方法,根据 userName 查询 UserInfo 里面的字段。 b、 dao 实现类:运用 Hibernate 实现用户登录 ,其涉及到的接口为:。 c、 Action 控制层:。 运行界面如图所示: 图 登录界面 27 / 31 2. 注册功能 详细介绍:点击上的用户注册按钮,进入注册界面,输入用户名和密码,提交注册,弹出页面添加用户成功,否则弹出提交失败。 主要用到: a、 entity 实体层:创建用户登录的方法,根据 userName 查询 UserInfo 里面的字段。 b、 dao 实现类:运用 Hibernate 实现用户 注册 ,其涉及到的接口为:。 c、 Action 控制层:。 运行界面如图所示: 个人工作总结 时间一晃而过,转眼间到公司已经 5 个月了。这是我人生中弥足 珍贵的一段经历。在这段时间里各级领导在工作上给予28 / 31 了我极大的帮助,在生活上给予了我极大的关心。在对公司各级领导肃然起敬的同时,也为我有机会成为公司的一份子而自豪。 在这 5 个月的时间里,在领导和同事们的悉心关怀和指导下,通过自身的努力,各方面均取得了一定的进步,现将我的工作情况作如下汇报。 一、通过培训学习和日常工作积累使我对公司有了一定的新的认识。 在 7 月份我来到了 XXX 公司 -郑州分公司参加招聘,经过几轮面试和笔试,终于能够有幸加入了 XXX 这个大家庭,在我进入公司时我拿到的第一份资料就是公司介绍和新员工入职说明,当时只是觉得公司很正规,很强大。在和人事、部门领导交流后,感觉公司很亲切,很温馨。公司的理念在平时的工作以及项目开发时体现的淋漓尽致,本人对公司的理念非常认同。现在公 司在 XX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 20959-2025数控立式转塔刀架
- 2025年仿制药一致性评价对医药市场医药企业市场品牌塑造的影响报告
- 2025年中国格拉辛信封行业市场分析及投资价值评估前景预测报告
- 2025年供应链金融中小企业融资中的供应链金融风险管理策略案例分析报告
- 18.1 绿色生物与生物圈的水循环 说课稿-苏科版生物八年级上册
- 数字人民币跨境支付2025年技术挑战与跨境合作模式研究
- 2025年中国高纯氮化镓粉末行业市场分析及投资价值评估前景预测报告
- 2025年中国钢化玻璃行业市场分析及投资价值评估前景预测报告
- 医疗模具知识讲解培训班课件
- 口腔和牙科护士知识培训课件
- 2025贵州金控集团特需人才引进4人(第二批次)笔试历年参考题库附带答案详解
- 2026中国电建集团成都勘测设计研究院有限公司招聘笔试备考试题及答案解析
- 2025-2026学年高二物理上学期第一次月考卷(原卷及解析)【测试范围:第1~3章】(考试版A4)(广东专用)
- 2025年电工考试题库(内附答案)
- 朝鲜族朝鲜语考试题及答案
- GB/T 11182-2025橡胶软管增强用钢丝
- 人事培训专员培训课件
- 励志主题课件
- 2025年【电工证】模拟考试题及答案
- 教师竞聘报告模板
- 仪表联锁培训课件
评论
0/150
提交评论