Java开发毕业论文参考文献

时间:2023-06-07 08:01:23 论文 收藏本文 下载本文

Java开发毕业论文参考文献(共16篇)由网友“tyotyi”投稿提供,以下是小编为大家整理后的Java开发毕业论文参考文献,仅供参考,欢迎大家阅读。

Java开发毕业论文参考文献

篇1:Java开发毕业论文参考文献

Java开发毕业论文参考文献

[1]张永强. 计算机软件Java编程特点及其技术分析[J]. 计算机产品与流通,(01):23.

[2]王越. JAVA编程语言在计算机软件开发中的应用[J]. 电子技术与软件工程,2019(01):35.

[3]叶欣,李建佳,温煜,赖舒婷. 基于Java语言的医疗质量管理系统设计与实现[J]. 中国数字医学,,13(12):54-55+104.

[4]黄文娟. 基于Java和MySQL的图书馆信息化管理系统设计[J]. 电子设计工程,2019,27(02):20-24.

[5]王禹程. 基于Java语言的人力资源信息系统研究[J]. 电子设计工程,2019,27(02):25-28+33.

[6]任灏榕. 基于J2ME的Java手机游戏开发技巧[J]. 电子技术与软件工程,2019(02):46.

[7]曹文渊. JAVA语言在计算机软件开发中的应用[J]. 电子技术与软件工程,2019(02):53-54.

[8]秦楷. JAVA语言特点及其在计算机软件开发中的运用[J]. 中国新通信,2019,21(01):91.

[9]张之涵,谭霞,温克欢,魏恩伟. 基于Android和Java编程的家庭智能用电管理系统设计[J]. 自动化与仪器仪表,2019(01):121-124.

[10]吴荣珍. 基于JAVA的高职院校人事管理系统设计与实现[J]. 软件导刊,2019,18(01):116-118+123.

[11]陈钟荣,洪滔. 基于Java和聚类分析移动端天气雷达管理系统设计[J]. 现代电子技术,2019,42(02):62-66.

[12]刘昕林,罗伟峰. 基于Java平台的Web应用系统业务性能监测分析[J]. 信息与电脑(理论版),2019(02):67-68.

[13]倪海顺. 计算机软件开发的Java编程语言应用探讨[J]. 信息与电脑(理论版),2019(02):60-61.

[14]党岳雷. 基于Java语言的高校体育信息化APP设计[J]. 微型电脑应用,2019,35(01):119-121.

[15]马寅璞,孔阳坤. 用JAVA实现一个推箱子游戏[J]. 技术与市场,2019,26(02):82-83.

[16]罗超,龙侃. 基于java的企业进销存系统的设计和实现[J]. 信息记录材料,2019,20(02):207-208.

[17]胡彬,田磊. 三维仿真及Java在拖拉机液压零件设计中的应用[J]. 农机化研究,2019,41(03):250-253+258.

[18]程亚维,王东霞. 基于Java的农机作业调度管理Web平台架构技术研究[J]. 农机化研究,2019,41(10):224-228.

[19]段韶鹏,温文豪,轩春青,刘迷. 基于Java的混合数据结构教学演示系统优化设计[J]. 信息与电脑(理论版),2019(01):100-101.

[20]林丽红. 基于JAVA的软件故障自动检测系统设计[J]. 现代电子技术,2019,42(01):183-186.

[21]吴泽智,陈性元,杜学绘,杨智. 基于自动机的Java信息流分析[J]. 计算机应用研究,2019,36(01):246-249+253.

[22]任灏榕. 基于J2ME的Java手机游戏开发技巧[J/OL]. 电子技术与软件工程,2019(02):46[2019-02-28

[23]曹文渊. JAVA语言在计算机软件开发中的应用[J/OL]. 电子技术与软件工程,2019(02):53-54[2019-02-28

[24]吴毅良,罗序良,陆庭辉,郭凤婵. 基于Java和Selenium的自动化操作工具的设计与实现[J]. 机电信息,2019(06):56-57.

[25]王云龙. Java开发一元与二元立木材积自动计算技术[J]. 辽宁林业科技,2018(01):21-28.

[26]马彬,唐红升,肖晨,李玉涛,牛霭琛. 基于JAVA的.气象日均数据处理系统的设计与实现[J]. 安徽农业科学,2018,46(03):157-160.

[27]牛雨. 基于JAVA的太阳能热水工程现场监控系统的设计[J]. 计算机测量与控制,2018,26(02):85-88.

[28]赵一凡,卞良,丛昕. 基于MD5的加盐消息摘要Java实现[J]. 软件导刊,2018,17(03):214-216+220.

[29]余杨奎. 基于Web开发技术实现PHP调用Java类研究[J]. 软件导刊,2018,17(03):121-123.

[30]王倩,邓媛劼. 基于Java Socket的网络聊天系统的设计[J]. 电脑与信息技术,2018,26(01):47-49.

[31]洪华军,许统华,吴建波. Java 3D虚拟现实技术在水下发射模拟中的应用[J]. 兵工自动化,2018,37(02):70-73.

[32]刘瑞瑞,王福平. 基于Java的马铃薯窖藏环境监控系统的设计与实现[J]. 江苏农业科学,2018,46(05):208-211.

[33]刘涛,闵鹏瑾,肖汉. 基于JAVA的小学数学四则运算教学系统的设计与实现[J]. 计算机与数字工程,2018,46(04):655-658+685.

[34]冯俊池,赵颖,连尧,尹党辉,安丰亮. Java自动化基本路径测试技术研究[J]. 计算机测量与控制,2018,26(04):70-73.

[35]桂林斌. 基于Java EE的高校科研成果管理系统的设计与实现[J]. 电脑与电信,2018(Z1):24-27.

[36]李智聪,凌力. Java Card的技术特点及其应用分析[J]. 微型电脑应用,2018,34(04):63-66.

[37]宋国伟,薛益鸽. 基于SQL Server与Java的PC端的学生选课评分系统的开发与应用[J]. 智能计算机与应用,2018,8(02):165-169+173.

[38]吴锦涛,薛益鸽. Java语言的桌面程序开发--以推箱子为例[J]. 智能计算机与应用,2018,8(02):179-183.

[39]滕海坤,刘心声,李伦彬. 嵌入式Java编译器的研究与设计[J]. 单片机与嵌入式系统应用,2018,18(04):16-19.

[40]杨雪晴,逯洋,孙卓. 基于Java和MATLAB的双水相体系双节线拟合计算系统的设计与实现[J]. 计算机与应用化学,2018,35(03):181-188.

[41]姚素红. 基于Java的Web应用系统开发模式[J]. 江苏工程职业技术学院学报,2018,18(01):6-9.

[42]吕萱. 计算机软件开发中Java编程语言的应用[J]. 信息与电脑(理论版),2018(08):67-69.

[43]龚少麟. Java软件保护方案的设计和实现[J]. 计算机时代,2018(05):36-40.

[44]王红伟,李会凯. 计算机软件开发的Java编程语言探究[J]. 无线互联科技,2018,15(10):56-57.

[45]陈慧嘉,李晶,孙悦. 基于Java的农村信息化服务管理系统[J]. 山西电子技术,2018(03):57-59+81.

[46]马定争,薛益鸽. 基于SQL Server与JAVA平台的机票预定系统[J]. 智能计算机与应用,2018,8(03):214-219.

[47]许益凡,薛益鸽. 基于JAVA平台的魔塔游戏设计[J]. 智能计算机与应用,2018,8(03):235-239+243.

[48]魏志军,周肖树,路良刚. 基于Java EE多层框架的实时监测系统设计与实现[J]. 电子设计工程,2018,26(11):77-80+85.

[49]姚添译,杨廷发,兰全祥. Java EE中Filter技术的研究与应用[J]. 电脑知识与技术,2018,14(18):47-50.

[50]余思源,张伟. 基于JAVA的个人博客系统的设计与实现[J]. 电脑知识与技术,2018,14(17):129-131.

[51]贾泽锋,崔梦天,王保琴,谢琪,姜玥. 基于JAVA的非对称加密算法的研究与实现[J]. 西南民族大学学报(自然科学版),2018,44(04):396-401.

[52]唐倩文,陈良育. 基于复杂网络理论的Java开源系统演化分析[J]. 计算机科学,2018,45(08):166-173.

[53]崔玉,蒋玮. 基于JAVA的多轴疲劳寿命可视化平台开发[J]. 科学技术与工程,2018,18(21):212-218.

[54]李金凤. 基于JAVA技术的实验室管理系统的设计与实现探究[J]. 信息与电脑(理论版),2018(16):59-60.

[55]葛萌,黄素萍,欧阳宏基. 基于Spring MVC框架的Java Web应用[J]. 计算机与现代化,2018(08):97-101.

[56]杨优优,郑向阳. 基于Java的中小型宾馆管理系统的研发[J]. 智能计算机与应用,2018,8(04):189-191+194.

[57]彭杨丽,徐家喜,陈培培. 基于Java EE学科竞赛管理系统的设计与实现[J]. 电脑知识与技术,2018,14(19):93-95.

[58]乐勇. 计算机软件开发的JAVA编程语言与实际应用分析[J]. 电子质量,2018(08):3-5.

[59]王国栋,彭章友,张钟浩. 基于Java Swing的拥塞控制算法性能研究[J]. 工业控制计算机,2018,31(08):83-85.

[60]娄豪. 基于计算机程序设计的Java编程语言探究[J]. 信息技术与信息化,2018(07):108-110.

[61]杜畇岐,潘娅,甘佳. 一种针对Java程序的充分变异算子集[J]. 西南科技大学学报,2018,33(03):69-75.

[62]蒙小龙,黄俊,刘志勤,张勇,王耀彬. 基于Java Web的CEA程序移植[J]. 计算机测量与控制,2018,26(09):145-148+162.

[63]甄爱军,李传林. 基于Java Web技术的泵站节能运行系统的设计与开发[J]. 内蒙古农业大学学报(自然科学版),2018,39(05):78-83.

[64]杜博,吴敏宁. 基于Java的在线考试系统的设计与实现[J]. 微型电脑应用,2018,34(09):90-93.

[65]邱吉雨. 基于Java开发Web项目的核心技术[J]. 电子元器件与信息技术,2018(07):93-94+119.

[66]高云艳. 基于Java EE的校园门户网站设计与实现[J]. 建材技术与应用,2018(05):46-48.

[67]王禹程. 基于JAVA技术的物业管理系统设计[J]. 自动化与仪器仪表,2018(10):147-149+152.

[68]欧阳宏基,宋笑雪,李红. 整合ESMSH框架的Java EE应用架构[J]. 计算机测量与控制,2018,26(10):230-234.

[69]季晓枫,宋昶衡,李弋. 处理Java程序不确定性问题的技术研究和综述[J]. 计算机应用与软件,2018,35(08):9-16+30.

[70]王文松,孙祥娥,鲍聪,李文婷,郭益凤,喻盼. JAVA-GUI的FIR滤波器网页端设计[J]. 信息技术,2018,42(10):48-51.

[71]童胜响. 基于Java Web在线点餐系统分析与设计[J]. 信息与电脑(理论版),2018(18):78-79.

[72]邹洁,冒绮. 基于Java语言的学生成绩查询系统的设计[J]. 智能计算机与应用,2018,8(06):184-185+190.

[73]夏曦,李洪,贾香恩,谢涵风,杨颖. 基于Java Web的“大学印迹”网站的设计与实现[J]. 电脑知识与技术,2018,14(23):120-122.

[74]欧阳宏基,李红,宋笑雪. 一种基于ES2SH框架的Java EE应用架构[J]. 实验室研究与探索,2018,37(10):151-156+161.

[75]彭乔立,孔萍,肖辉. 基于Java的中国卫生信息网络直报系统文件生成程序[J]. 中国数字医学,2018,13(10):78-79+91.

[76]徐洪位. JAVA AbstractCollection类的使用方法[J]. 科教文汇(中旬刊),2018(11):66-67.

[77]崔旭冉,刘娅迪. 基于Java的智能停车场管理系统的开发与研究[J]. 现代信息科技,2018,2(11):69-71.

[78]程小红. 基于Java的数据库应用框架的设计分析[J]. 电子设计工程,2018,26(21):90-94.

[79]刘方斌,曲均浩,苗庆杰,周少辉. 基于Java的地震速报信息服务系统设计[J]. 电子科技,2018,31(12):22-24+29.

[80]林承师. 基于Java平台与图灵聊天机器人的接入实现[J]. 信息与电脑(理论版),2018(21):113-116.

[81]唐科. 基于Java应用的自顶向下性能优化方法[J]. 软件导刊,2018,17(11):45-48.

[82]覃建运,李春青. 基于Java的国际象棋游戏系统设计与实现[J]. 软件导刊,2018,17(11):116-119.

[83]谢昊,昝乡镇. 基于JAVA平台的flappy bird游戏设计谢昊,昝乡镇[J]. 电脑知识与技术,2018,14(29):77-79.

[84]李蔚妍,高葵,孙未,朱红梅.Java程序中图形界面案例的分析与研究[J].福建电脑,,36(03):31-34.

[85]刘翠霞.Java数据库连接池的原理与应用[J].无线互联科技,2020,17(04):167-168.

[86]张刚,阚洪敏,牛连强.Java程序设计研究与实践-理论和实践[J].现代计算机,2020(05):87-88+93.

[87]刘宇晶,冯灵清,冯治旭.基于Java的院系教学管理系统的设计与实现[J].信息技术与信息化,2020(01):140-142.

[88]徐巍.基于Java技术平台的教学管理系统设计与实现[J].卫星电视与宽带多媒体,2020(02):67-68.

[89]杨振.基于JAVA技术平台的办公自动化系统设计与实现[J].卫星电视与宽带多媒体,2020(02):74-75.

[90]黄智聪.JAVA编程语言在计算机软件开发中的应用研究[J].信息与电脑(理论版),2020,32(02):71-72.

[91]张宇旺.基于计算机软件开发的Java编程语言分析[J].信息与电脑(理论版),2020,32(02):73-74.

[92]胡江婧,曹双双.基于JAVA的课程设计管理系统的设计与开发[J].科技创新与应用,2019(16):80-82.

[93]刘虹.基于Java的员工管理系统的设计与实现[J].现代农村科技,2019(04):92-93.

[94]王同娟.基于Java平台的小型餐饮收银系统设计[J].电脑编程技巧与维护,2019(04):47-49.

[95]赵敏涯,华英,吴笛,黄鹏,赵明明.基于Java技术的新闻采集器设计与实现[J].电脑编程技巧与维护,2019(04):21-23+37.

[96]欧阳宏基,葛萌.Java EE数据初始化应用中的设计模式解决方案[J].计算机系统应用,2019,28(04):188-193.

[97]杨理哲,张秀梅.基于Java的简单2DRPG游戏系统设计[J].科技资讯,2019,17(09):21-22.

[98]彭程,高晶.Java与MySQL环境下图书馆信息化管理系统设计与实现[J].电脑知识与技术,2019,15(08):59-60.

[99]武宗品.设计模式在Java数据库操作组件中的应用[J].电子技术与软件工程,2019(06):162-163.

[100]王晟宇,叶传奇,刘迪,李闯,蒋文杰,陈昕.基于Java技术的B2C网上购物商城系统的设计与实现[J].电脑知识与技术,2019,15(07):282-284.

[101]蒋凌志.Java程序设计在线考试系统的开发[J].电脑知识与技术,2019,15(07):142-144.

[102]杨定成,郑定超.基于Java的实验室用电管理系统设计与制作[J].电子制作,2019(Z1):56-58.

[103]黄堂森.基于JAVA的校园微信平台设计[J].信息技术与信息化,2019(02):50-51.

[104]苟雨晴,兰全祥.基于Java的拼图游戏设计与实现[J].电脑知识与技术,2019,15(02):45-47.

[105]林丽红.基于JAVA的软件故障自动检测系统设计[J].现代电子技术,2019,42(01):183-186.

[106]陈力. 基于Java的会员制商品交易系统的设计与实现[D].浙江工业大学,2019.

[107]范国婷,曹飞虎,王秀友,杨颖.基于Java Web的进销存管理系统设计[J].廊坊师范学院学报(自然科学版),2018,18(04):43-46.

[108]吴荣珍.基于JAVA的高职院校人事管理系统设计与实现[J].软件导刊,2019,18(01):116-118+123.

[109]张华,李超.Java课程智能问答系统设计与实现[J].计算机时代,2018(12):12-15.

篇2:毕业论文文献格式

1、题目:题目应当简明、具体、确切地反映出本文的特定内容,一般不宜超过20字,如果题目语意未尽,用副题补充说明。

2、作者:署名的作者只限于那些选定研究课题和制订研究方案、直接参加全部或主要研究工作、做出主要贡献,并了解论文报告的全部内容,能对全部内容负责解答的人。其他参加工作的人员,可列入附注或致谢部分。

3、摘要:摘要应具有独立性和自含性,有数据结论,是一篇完整的短文。摘要一般200-300字摘要中不用图、表、化学结构式、非公知公用的符号和术语。

4、正文:论文中的图、表、附注、参考文献、公式等一律采用阿拉伯数字编码,其标注形式应便于互相区别,如图1,图2-1;表2,表3-2;附注:1);文献[4];式(5),式(3-5)等具体要求如下;

4.1、图:曲线图的纵横坐标必须标注量、标准规定符号、单位(无量纲可以省略),坐标上采用的缩略词或符号必须与正文中一致。

4.2、表:表应有表题,表内附注序号标注于右上角,如“XXX1)”(读者注意:前面“”引号中的实际排版表示方式应该是“1)”在“XXX”的右上角),不用“﹡”号作附注序码,表内数据,空白代表未测,“一”代表无此项或未发现,“0”代表实测结果确为零。

4.3、数学、物理和化学式:一律用“”表示小数点符号,大于999的整数和多于三位的小数,一律用半个阿拉伯数字符的小间隔分开,不用千位擞“,”,小于1的数应将0列于小数点之前。例如94,652应写成94 652;319,325应写成0314 325。

应特别注意区分拉丁文、希腊文、俄文、罗马数字和阿拉伯数字;标明字符的正体、斜体、黑体及大小写、上下角,以免混同。

4.4、计量单位:论文中使用的各种量、单位和符号,必须遵循国家标准GB3100-82, GB3101-82,GB3102/1-13-82等的规定单位名称和符号的书写方式,一律采用国际通用符号。没有相应符号的非物理量单位可使用中文(如“件”、“台”、“人”等),它们可以与其他单位的符号构成组合单位(如“件每秒”的符号为“件/S”)。

篇3:java毕业论文

java毕业论文

java毕业论文

1Java语言教学存在的问题

考核不科学.通常采用规范化、标准化的试卷笔试,以学生成绩的高低来评价学生对教学内容掌握程度.同时,考核内容结构不合理,基础知识所占比重大,程序设计类题型所占比重小,对实践能力的考评弱化.考核形式单一.多数的考核方式是采用2小时闭卷笔试,这种方式很能考核学生的专业技能及应用能力,而这又是这门课的重中之中.缺乏对学习过程的有效考核.课程是对整个教学内容的全面、总结性的检查和评定.一次期考不足以涵盖所有知识点.要提高考核的可信程度,应采用分阶段的综合考核方式,参与到最终成绩的评定.

2基于CDIO工程教育理念的课程教学改革措施

2.1CDIO的4个能力与Java语言培训目标的关系

CDIO培养大纲将工程毕业生的能力分为四个,分别是工程基础知识、个人能力、人际团队能力和工程系统能力,大纲要求以综合的培养方式使学生在这4个层面达到预定目标.按此理论培养的学生深受IT界的欢迎.Java语言的课程教学目标是通过教学,使学生能利用Java进行面向对象程序的分析与设计.此目标又可细分为4个子目标,分别是知识目标、能力目标、专业素质目标、工程师目标.知识目标是学生能掌握Java语言的基础知识,如面向对象程序的分析与设计、输入输出、异常、SWT编程与Swing编程、多线程、常用API等.能力目标是能熟练配置和使用JDK,能使用一些流利的IDE环境如Eclipse,NetBeans等进行简单的软件开发;专业素质目标是养成科学规范的编程风格,具备良好的团队合作精神;工程师目标是具备综合的工程思维和能力,具有软件的分析与设计能力.通过Java的4个教学目标与CDIO的4个能力的对比研究发现,二者具有一一对应关系.即Java的知识目标的培养与CDIO的工程基础知识能力对应,Java的能力目标培养与CDIO的个人能力对应,Java的专业素质目标培养与CDIO的人际团队能力对应,Java的工程师目标培养与CDIO的工程系统能力对应.

2.2基于CDIO工程教育理念构建新的Java教学模式

Java语言的主要教学环节是理论教学和实验教学,教学效果的主要评价办法是课程考核,基于CDIO工程教育理念构建的Java教学模式主要从这3个方面来改革传统的Java教学模式.

2.2.1Java理论教学的改革

1)明确Java语言课程教学的核心知识点.Java语言的知识包罗万象,应该找出核心知识点,并作重点的讲解和强化,为后续课程学习新的程序设计技术打下技术基础.经过多年教学和软件开发实践,我们认为,Java语言的核心知识点可分为3个模块:基础知识模块、对象与类知识模块、应用程序接口模块.其中基础知识模块包括:操作符、控制执行流程、初始化与清理、访问权限控制;对象与类模块包括:类、对象、继承、多态、接口、异常、泛型、数组、多线程、网络编程;应用程序接口模块包括Object类、System类、容器类、I/O类、AWT类和Swing类、正则表达式(Patter,Matcher).

2)注重案例教学法在Java语言教学中的实践.调查显示,70%左右的学生认为当前的“理论课满堂讲”的教学方法不受欢迎,同时,这些学生认为采用案例教学法学生比较喜欢.在教学过程中,采用案例教学法有以下3个原则:

(1)选择生动有趣的案例.例如在讲授类的设计时,可以采用ATM取款机作为典型案例,因为同学们都有ATM的'取款经历,并且在此过程中遇到很多异常,例如存款时钞票不能识别,取款时卡被吞等;在讲解Swing类时进行界面设计、事件触发时,可采用博物馆中的贵重物品装锁作为案例,我们考虑,这些锁还带有感应功能,如果被敲被砸则发出警报,相当Java中的事件触发机制.在选取典型案例时,既要考虑对知识面的涵盖,又要生动有趣.

(2)案例要真实,安全来自生活又要进行一定的改造.例如在讲解多线程知识点时,结合当下淘宝的流行,淘宝中的图片显示为何能快速呈现?就是使用了多线程技术,其原理是一幅被分解为n个部分,由n个线程分别负责一部分的显示,n个线程在多处理机系统下可并行执行,速度比单线程提高了n倍.

(3)案例的大小要适度.一般典型安全的代码在100~250行之间,案例太大学生难以完成,太小又达不到涵盖主要知识点的目标.

2.2.2Java实验教学的改革

实验教学是Java语言课程的重要环节,目前是是培养学生实践动手能力,以及知识综合应用能力.主要从以下几个方面来做好实验教学:1)在理论教学中引领实验教学的内容.在理论教学中涉及程序设计方面的内容,主要有有两种情况及解决办法,如果涉及的知识点比较综合,课堂上适合打开开发工具,先给出设计思路,然后对每条思路,一边编写代码一边讲解;对于比较大的程序,适合将编好的代码导入开发工具讲解.2)逐步构建立体化实践教学体系.实验分为3个层次:

(1)验证性实验,此类实验是学生按照实验指导书完成实验,以验证实验结果.例如,学会安装配置JDK、安装Eclipse开发环境、编写简单的类和对象、输入输出等,这些工作能培养学生的实验基本能力.

(2)设计性实验,老师给出题目和用户需求,学生根据已有知识来设计构思、设计、实现,目的是培养学生的知识综合能力和软件工程能力,在此过程中,学生可模拟软件开发团队,形成小组来完成设计性实验.另外,为了开拓视野,还要积极参加专业类竞赛,如鼓励学生参加云南省计算机作品赛.

(3)综合性实验,老师综合题目,这些题目来自老师的科研课题,综合性实验的目标是培养学生的工程师能力,能独立进行需求分析、设计、实施、运行和维护.由于综合性实验贴近实战,要求高,较难的部分老师要给学生重点指导.

2.2.3Java课程考核方式的改革

考核方式要科学,需要遵循过程考核与结果考核并重的原则.

1)举行章节性同步练习和测验,以了解学生的学习状态,评价当前的教学效果,同时也为科学地评定学生成绩提供依据.

2)采用答辩的方式.学生分组后,由老师公布课题名称和要求,然后,每组有一组长.在任务实施过程中,由组长讲解本组的研究成果,并说明组员的工作和贡献,为评委打分提供依据.最后由评委对各组的研究内容有疑点的地方以及从完善项目的角度出发进行提问,组员回答,评委根据贡献和回答情况给组员打分.

3结束语

Java语言是当前主流的软件开发工具,CDIO是国际最新的工程教育模式,在Java的教学中基于CDIO工程教育理念,提出了与CDIO的4个工程能力对应的4个Java语言教学目标,围绕这4个目标,探讨了新的Java语言教学改革模式,该模式主要从理论教学、实验教学和课程考核方面来探讨如何改革教学。

篇4:java毕业论文

学生姓名 _______ _

学 号 ___________

专 业 ____ 班 级 ____ 指导教师

200 年 月

1.Java语言的出现

自从1946年世界上第一台电子计算机问世以来,计算模式的发展经历了三个阶段:集中计算模式、分散计算模式和网络计算模式。Internet的出现,为在网络计算模式下的科学计算和信息处理提供了良好平台。然而,要充分利用网络计算模式的功能与效益,平台的运行环境是个制约因素,而Java语言和Java技术则是解决这一问题的最佳途径。

1991年,SUN公司的Jame Gosling,Bill Joe等人试图为电视、烤箱等家用电器开发一种交互式的软件系统,这种应用需要的是那种小而可靠的系统,它能够移植,并且实时性好,适用于网络分布环境。流行的C++是自然的选择。不过,开发过程中遇到的许多难以克服的困难使他们意识到必须彻底解决问题了,最终,开发成功了一个名为Oak的软件,此中蕴藏着Java的原型,当时,并未引起人们的注意。1994年下半年,随着Internet的迅猛发展,环球信息网WWW的快速增长,促进了Java语言研制的进展,使得它逐渐成为Internet上倍受欢迎的开发与编程语言。1995年5月Java正式问世,一些著名的计算机公司纷纷购买了Java语言的使用权,如Microsoft、IBM、Netscape、Novell、Apple、DEC、SGI等。因此,Java语言被美国著名杂志PC Magazine评为1995年十大优秀科技产品(计算机类仅此一项入选)之一,随之大量出现了用Java编写的软件产品,受到工业界的重视与好评,认为“Java是八十年代以来计算机界的一件大事”。微软总裁比尔〃盖茨在认真观察了一段时间后,确认“Java是长时间以来最卓越的程序设计语言”,并确定微软整个软件的开发战略从PC单机时代向以网络为中心的计算时代转移,而购买Java则是他的重大战略决策的实施部署。

因此,Java的诞生必将对整个计算机产业发生深远的影响,对传统的计算模型提出了新的挑战。SUN Microsystem公司的总裁Scott McNealy认为:Java对Internet和WWW开辟了一个崭新的时代。

有人预言:Java将成为网络上的“世界语”,今后,用其他语言编写的软件统统都要用Java语言来改写。

2.Java语言的主要特点

Java语言是一种适用于网络编程的语言,它的基本结构与C++极为相似,但却简单得多。它集成了其它一些语言的特点和优势,又避开了它们的不足之处。它的主要特点如下:

2.1简单性

Java与C++相比,不再支持运算符重载、多级继承及广泛的自动强制等易混淆和较少使用的特性,而增加了内存空间自动垃圾收集的功能,复杂特性的省略和实用功能的增加使得开发变得简单而可靠。

简单化的另一个方面是Java的系统非常小,其基本解释和类支持部分只占40KB,附加的基本标准库和线程支持也只需增加175KB。因此,Java应用软件能在相当小的系统之上独立工作。

2.2平台独立性

这是Java最吸引人的地方。由于它采用先编译成中间码(字节码),然后装载与校验,再解释成不同的机器码来执行,即“Java虚拟机”的思想,“屏蔽”了具体的“平台环境”特性要求,使得只要能支持Java虚拟机,就可运行各种Java程序。

2.3面向对象的技术

面向对象(O-O)的技术是近年来软件开发中用得最为普遍的程序设计方法,,它通过把客观事物进行分类组合、参数封装、用成员变量来描述对象的性质、状态,而用方法(成员函数)来实现其行为和功能。O-O技术具有继承性、封装性、多态性等众多特点,Java在保留这些优点的基础上,又具有动态联编的特性,更能发挥出面向对象的优势。

2.4多线程

多线程机制使应用程序能并行执行,Java有一套成熟的同步原语 ,保证了对共享数据的正确操作.通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上实时的交互行为。

2.5动态性

Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。

2.6安全性

Java有建立在公共密钥技术基础上的确认技术.指示器语义的改变将使应用程序不能再去访问以前的数据结构或是私有数据,大多数病毒也就无法破坏数据.因而,用Java可以构造出无病毒、安全的系统。

Java语言除上述主要特点外,还有高性能、分布性、强大性、解释性、可移植性等,此处不再 赘述。

3.Java语言的发展

Java自正式问世以来已经历了四年的历程,时间虽短,发展极快。一年一度在美国旧金山召开的世界Java One语言开发者大会(Java One Developer Conference)盛况空前正说明了这一点。四年中每年的Java One大会,既是了解Java最新技术动态、应用成果和下一步发展趋势的最好场所,又是推动下一年Java快速发展的重要动力。首届Java One大会于召开,各届简况如下:

195月29-31日,第一届,出席会议者6500余人,来自工业界的超过一半。有人评价说:“这是近年计算机界最光辉的一次盛会”。工业界相当看好Java语言,认为它的使用将会引起一场软件革命:从软件的设计风格、设计方法、设计目标到设计过程,都会产生彻底的变革,“甚至会改变此星球的生活方式”。 ,第二届,出席会议者10000人。Java的追随者不断增加,应用开发迅速起步。

3月24-27日,第三届,出席会议者14000余人(注册人数),注册门票售价1195美元,否则1395美元,即使如此,仍有不少人不惜工本,挤入会场。本次会议除了软件巨头微软未参加会议外,几乎所有的计算机公司都参加了。展厅内设300多个展台,先后举行了90场专题讨论会,每场参加的人数从千人至五六千人不等。会议的主题是:通过Java的培训来带动Java软件的开发和技术研究,从而发展生产力,获取高额利润,提高生活质量,推动信息产业的进步。会议展出的内容大致如下:

Java开发工具软件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio 等;

企业信息管理解决方案软件,如:EJB(Enterprise JavaBeans);

基于Java技术的信息家电,如:机顶盒、Java电话等;

个人信息综合服务(Java戒指)、社会信息综合查询亭(Kiosk);

电子商务软件、智能卡、Java Card API 等;

网络计算环境下的Java服务器软件、远程方法调用(RMI)、基于Java技术的移动计算设备;

JMS(Java Message Service)用于出版、票据订阅的软件;

JOS(Java OS)、基于Java技术的NC和Java Station。

6月15-18日,第四届,出席会议者达0人,300多家厂商参展,举办400多场技术讲座,555名演讲者慷慨陈词,精彩纷呈。这次大会的主要特点是:

Java框架结构被梳理清晰

本次JavaOne大会上,Sun公司的一个重大举措就是公布了Java平台的最新架构。重新定义的Java平台以Java 2为核心,由面向企业和服务器市场的企业版Java 2(J2EE)、面向传统PC客户机市场的标准版Java 2(J2SE)和面向信息电器等后PC终端设备市场的Micro版Java 2(J2ME)三大部分组成。其中,J2EE包括Enterprise JavaBeans(EJB)、Java Server Pages & Java Servlets、Java Mail API和Java Massage Service组成。而J2ME则是原有的Personal Java、EmbeddedJava、JavaCard以及刚刚推出的Kjava组成。虽然新框架结构中的内容都是已有的,但这样重新定义和组合,使得Java平台的概念简单化,从而变得易于理解,更适合于进行市场推广。

2)重点放在企业平台

随着Internet的飞速发展,企业计算模式正摒弃C/S结构而采用Web-Browser结构,此即瘦客户端/胖服务器、大容量数据库的3层或N层体系结构。由于Java的特点,使得它在开发服务器端的应用程序方面有着得天独厚的优势,面向服务器端的J2EE为当今逐渐流行的N层体系结构提供了一个标准的Java计算平台:界面一致、工具简易、丰富、Web页面互联便捷,从而能大大加速和简化各种应用系统的开发。

3) 加速后PC时代的进程

计算机的发展创造了Internet,但是计算机现在却不是访问Internet的唯一方式。正在出现的信息化、智能化的消费类电子产品打破了PC作为信息终端的垄断地位,成为人类进入Internet的新门户。信息终端的多元化预示着所谓后PC(post-PC)时代的到来。消费类的信息终端量大面广,是典型的瘦客户机,其本身的资源和能力不能与PC相比,但必须更加智能化,并对服务器端的管理提出了更高的要求。而Java平台恰恰满足了这种要求。本次大会推出的Kjava虚拟机能运行在16以上的微处理器上,占用内存少,人们可以随心所欲,在资源有限的设备上方便地开发出各种各样的应用,直接运行在不同的消费类或其它电子设备上;而Jini的出现为Java网络连接提供了公共标准,使得任何Java设备都可以连入网络中被自动识别,并可充分利用网络上已有的各种资源。大力推进Jini的发展是Sun公司加速后PC时代进程的一项重要策略。

4)应用系统异彩纷呈

与上届大会一样,展出内容有:应用工具、应用系统、信息家电等。特别在实时系统开发方面,以IBM为首开发出了应用于工业实时环境的Java嵌入系统,展现出Java在工业领域的广阔应用前景。

Java语言的出现和发展,得到了IT业界的青睐,它像一面大旗,凝聚了世界众多的厂商与Sun公司一道,结成了对抗微软垄断的联盟。许多知名厂商纷纷购买Java许可证,目前已有90多万个软件开发商加入了Java阵营,1亿个Java最终用户,几千种Java应用软件产品,1500余种Java书籍(自Java问世4年来,平均每天出版一本)。这真是IT业界的盛事!

IBM公司提出“高举Java大旗,全力以赴”的口号,它在全世界的11个国家有28个实验室,集聚了2500余名技术人员,全天侯24小时进行全方位开发;芯片巨人Intel提出“抓住时机,占领Java阵地”!决心使Intel芯片系统成为开发Java应用运行的最佳平台;Novell则宣称“Java是Novell的未来,未来是服务器端Java的市场”;作为Java发明者的Sun公司,坚持“保卫Java大旗,发展Java之路”的方针,通过对Java的“研究椘拦罈构造棽馐詶推广”的过程,从而占领市场。此外,HP、Oracle、Apple、Sybase、Netscape、Informix、3Com、Motorola等公司均是Sun的坚强同盟。

在我国,Java的引进与开发起步早,发展水平基本与世界同步。目前,Sun公司已在中国建成了由5个授权中心、20多个Internet/Intarnet Java解决方案中心和10所Java大学、若干培训中心组成的三级结构。全面推动Java在中国的普及、应用、研究、开发,培养了数以十万计的Java开发人员。此外,Sun还牵头成立了中外软件厂商的开发联盟。

在中国,Java的开发可以说是“人才济济,成果累累”。如清华大学王克宏教授带领的课题组面向全国,自96年开始举办了多期Java培训班和讲座,开设了数期本科生、研究生Java课程,出版了“Java系列丛书”10余册 ,承担了国家“九五”攻关项目“基于Java技术的交互式远程教学系统”,并与日本就Java开发进行了国际合作,成绩斐然;东大阿派下属的宝钢东软软件技术研究中心是国内是首屈一指的Java研发骨干企业,该中心从95年起就开始了Java的研发,目前,已掌握了Personal Java的核心移植技术,并成功地将JVM移植到汽车导航平台。此外,他们还开发出支持Jini协议的即插即用网络打印机软件,以及一套Jini信息家电网络的可视化演示环境,完成了基于JavaBeans的组件化软件开发及运行支持环境等多项成果;在台湾,22家知名计算机公司成立了“Java联盟”,并在台北建立了“Java开发中心”,新竹建立了“Java语言实验室”;在

香港,举行了全岛Java杯比赛,掀起了学习Java的热潮 。Java的浪潮汹涌澎湃,席卷全球!

4. Java技术

Java发展至今日,已不仅仅是一种编程语言,实际上已形成了一门技术.其内容包括:

1)Java软件包

Java语言及其编程技术、JavaOS、Java开发环境与工具、Java语言的各种软件包、数据库接口JDBC等。

2)Java虚拟机及其规范

3) Java嵌入技术(Java芯片)

已推出的有Java戒指、Java卡等。198月2日,Sun公司宣布名为MAJC的专门为Java语言设计的的芯片优化研制成功,欲与Intel试比高低。该芯片在设计时采用了模块式高性能计算引擎,实质为一种芯片级并行处理机,能以更有效的方式分解计算任务,特别适合处理多媒体数据。Sun公司希望通过MAJC芯片的发布催生出一个基于Java语言的微处理器家族,与Intel公司竞争。设想中的Java处理器将应用在从低价消费电子产品到高端因特网服务器领域。

4)Java计算

基于Java技术的企业Internet/Intranet信息系统以及其他应用系统。

5)Jini技术

年初正式发布后,立刻得到业界的广泛支持。Jini的出现为Java网络连接提供了公共标准,使得任何Java设备都可以连入网络中被自动识别,并可充分

利用网络上已有的各种资源。它把网络上的各类设备(包括消费类电子设备如移动电话、PDA、DTV、HPC、NC、游戏机、电冰箱、智能卡等等)和各种软件组合成一个单一、动态的分布式系统,使网络更易于操纵、易于管理,具有更高的可配臵性。Jini将使网络具有自发性,它的出现大大扩展了“计算”和“计算机”的含义,极大地简化了网络操作,对家庭用户来说,使用网上设备即插即用,就像使用电话一样方便。Java和Jini 不仅可以不依赖于Windows为代表的操作系统,而且引导着信息产业的潮流,使Sun公司能在未来的、非PC类电子产品的数字化市场中强占制高点。

6)Jiro平台

异质网络环境中安装的存储系统的多样性和分布性,给存储管理带来了巨大的挑战。用户和开发人员都希望能有一种技术,能更好地促进企业存储管理方案的开发。而Jiro平台正是解决此问题的革命性方案。Jiro平台实现了Java和Jini 技术,它是一个便于用户管理异质网络上由各种服务器、存储和设备组成的混合环境的开放式存储管理平台。它对操作系统是中立的。Jiro为跨异质存储局域网(SAN)的管理服务和设备提供了一个开放平台,允许服务器、存储和联网设备在异质网络环境中无缝地协同工作。Jiro平台为开发者带来的好处有: 允许开发者利用各种实现管理存储网络的目标功能创建应用;

提供了一个可以在各种应用、服务和设备之间交互操作的组件模型; 允许设备易被增加、删除;

允许应用或服务被自动更新。

1999年7月,Sun发布了正式的Jiro规范草案,供公众讨论、修改。目前,Jiro平台的团体成员已超过25家,支持Jiro平台的厂商超过300家。有眼光的厂商纷纷加入到这些组行列,从而加快了Jiro的发展。

结语

Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发它的浪潮,显示了“鹏程万里”的美好前景。作为一种与底层硬件无关的、“编写一次,到处运行”的高级语言和计算平台,Java天生就具有将网络上的各个平台连成一体的能力,真正实现了“网络就是计算机”的理念。以Java为代表的网络的成长,改变了我们的联系方式、生活方式、学习方式和经营方式。它的来到使我们目睹了一场类似印刷术的重大变革。毫无疑问,它将影响人类社会的发展,这就是:Java加速人类进入网络时代!

Java是当今IT产业和人类文明的创新和希望!

篇5:java毕业论文

XX 大 学

毕业设计(论文)

题目: 基于Java技术的网上交易系统的开发

学 院:

专 业:

班 级:

学 号: xxx

学生姓名: xx

指导老师: xx

6月9日

摘 要

随着信息高速公路的建立,Internet的普及,网络技术的迅猛发展,人类社会已经进入了一个信息化社会。

电子商务指利用简单、快捷、低成本的电子通讯方式,买卖双方通过网络进行各种商贸活动的一种商业交易模式。随着互联网的发展,以及人们消费观念和生活方式的改变,这种新型的商业模式逐渐融入了人们的生活中。通过企业的门户网站,人们可以足不出户的寻找自己所需的物品,通过对不同虚拟商城的访问,“顾客”可以找出性价比最高的商品,自己有极大地选择空间;通过下订单,你可以很快得到自己想要的物品,这给顾客节省很多时间和精力;对于厂家来说,可以极大地降低库存风险,可根据客户需要,按需采购和生产,大大地提高了效益。

本毕业设计的内容是设计并且实现一个基于web技术的在线交易系统。系统主要以j2EE作为开发基础,使用了struts+spring+hibernate等多种协议或技术,用eclipse作为开发工具,以Macromedia公司的Dreamweaver作为界面美化工具。基本实现了网上交易系统应有的主要功能模块,包括:管理员的登录,管理和维护;用户注册、登录、注销,个人信息的查询、修改;商品管理,购物车管理,订单管理。该系统界面简单、操作方便,容易维护。

关键词:电子商务 j2EE struts + spring + hibernate

Development of an Online Trading System Based on Java Technology

Abstract

With the establishment of high way of information, the popularization of Internet and the rapid development of network technology, human society has entered a society of information.

E-commerce is a new business transaction, through which both buyers and sellers can use a simple, fast and low-cost means of electronic and communication. With the development of the Internet, and people's consumption idea and the way of life changing, this new business model has gradually integrated into people's lives. Through the portal site of enterprise, people can look up the goods which they required without going out; through the different virtual mall visit, people can find the most cost-effective products, and they have much self-choice; through orders, people can find the things which they need, and quickly get the products which they ordered. This new business modle can save a lot of time and energy for custormers, and greatly reduce inventory risk of manufaturers. The manufactures can procure and produce according to customer needs, this was called on-demand procurement and production, which greatly improved the efficiency.

The subject of this graduation project is designing a web-based online trading system. This system mainly uses j2EE as the basis of development, and also use the struts + spring + hibernate technologies and other orders. This project use eclipse as the development tools, and Macromedia's Dreamweaver as the interfaces landscaping tools. The basic functions of an online trading system have been implemented, which include administrator login, management and maintenance; user registration, login, write-offs personal information enquiries and amendments; commodity management, cart management, order management. Interface of the system is simple, it can be used and maintained easily.

Key words: E-commerce j2EE struts + spring + hibernate

6

目录

摘 要

Abstract

第一章 引言

1.1 课题背景

1.2 课题目的和意义

1.3 本文结构

第二章 系统应用的关键技术

2.1 JSP技术介绍

2.1.1 JSP的概述

2.1.3 JSP的强势与劣势

2.1.4 JSP与ASP的比较

2.2 Java组件JavaBeans

2.2.1 什么是JavaBeans

2.2.2 JSP与JavaBeans的关系

2.3 J2EE概述

2.4关于Struts

2.4.1 Struts简介

2.4.2 Struts的主要功能

2.5 关于Spring

2.5.1 Spring简介

2.5.2 为什么需要Spring

2.5.3 Spring带给我们什么

2.6 关于Hibernate

2.6.1为什么引入hibernate

2.6.2使用Hibernate的好处

2.6.3 Hibernate的工作原理

2.7 Mysql

2.7.1 mysql的特点

2.7.2 mysql的安装和配置(部分截图)

2.8 Tomcat服务器

2.8.1 Tomcat 服务器简介

2.8.2 Tomcat的特点

2.8.3 Tomcat的优势

2.8.4 Tomcat服务器的安装和配置

小结

第三章 系统需求分析和总体设计

3.1 系统功能需求

3.2 系统角色及其功能分析

3.2.1 系统的3个角色:

3.2.2 系统角色的功能

3.3 总体设计思想概述

3.4 数据库设计

3.4.1 E-R图

3.4.2数据表的设计

3.5 系统的类设计

3.5.1 DAO类设计

3.5.2 POJO类设计(部分)

3.5.3 过滤器类设计

3.5.4 监听器类设计

3.6系统的用例图

3.6.1 总体用例分析

3.6.2 用户管理用例分析

3.6.3 购物车管理用例分析

小结

第四章 系统的详细设计

4.1 数据库与POJO映射的实现

4.2 主要模块的设计说明与界面

4.2.1用户管理模块

4.2.2购物车管理模块

4.2.3 定单模块

4.3 系统的测试

小结

第五章 总结与展望

5.1 工作总结

5.2 后续工作展望

参考文献

附录

致谢

第一章 引言

1.1 课题背景

随着当今世界进入信息时代,Internet的飞速发展和在全球的普及给人类生活带来革命性的改变。Internet将传统意义上的物理空间转变成电子空间,把人们带入了一个网络社会中。网络时代的到来,带给人们的不只是快捷、方便,它带来的是划时代的进步。在网络大家族中,电子商务则是一个热点,它的发展速度之快远远超过我们的想象,普及速度之快令人难以置信。我们完全有理由相信,全球性的电子商务热潮必将一浪高于一浪[1]。

电子商务一个最基本体现就是电子购物网站,从一定程度上讲它就是网上超市,也就是一种网上交易。“网”字意味着它具有信息时代的快捷方便等特征。事实上电子商务的出现,给消费者的地位,消费观念带来了重要的变化。网上交易系统正是应这种变化而悄然崛起,并以惊人的速度发展着。通过网上交易系统,人们可以足不出户的寻找自己所需的物品,通过对不同虚拟商城的访问,“顾客”可以找出性价比最高的商品,自己有极大地选择空间,通过下订单,你可以很快得到自己想要的物品,这给顾客节省很多时间和精力,对于厂家来说,可以极大的降低库存风险,根据客户需要,按需生产和采购,大大的提高了效益。

1.2 课题目的和意义

自从电子商务出现在人们的视野中,电子商务就在全世界范围内受到了格外的关注,并得到了迅速的发展。从实用角度看,目前电子商务网站的普遍存在是购买者难以找到所希望购买的商品甚至用户在耗费很大的经历与时间后即使找到了自己想要的产品,最后却由于各种原因而放弃购买。很多报道指出,推销商们普遍对目前的网络行销感到失望,尽管如此,电子商务无疑是目前最好的在线商品展示的媒体和工具。然而,网上产品展示的目的不仅仅是展示产品,而更重要的是通过让客户更多地了解产品而提高产品的购买率。因此,电子商务目前所面临的挑战之一就是网站的设计,如何使得网页能够有效地展示自己的产品,同时方便用户的使用,使用户以愉悦的心情选购称心如意的商品。

本系统的目的和意义就是应上述挑战而尝试为用户提供一个操作简单方便的网上交易系统。利用本系统,用户可以自由地浏览商品,注册成为网站会员,选择商品加入自己的购物车,而后生成订单,实现网上购物。

1.3 本文结构

本文共分五个章节,系统地阐述了系统开发的全过程。

第一章,主要介绍了开发的背景、目的和意义。

第二章,主要介绍了本系统所用到的关键技术和工具,为下一步的设计的设计奠定基础。

第三章,主要对系统进行需求分析并进行总体设计。需求分析阶段通过分析系统的功能模块的划分以及角色的划分,为系统的总体设计提供依据。总体设计阶段通过对数据库、过滤器、监听器、和实体类的设计,以及各个模块用例图的描述,形成了开发的整体思路。

第四章,主要介绍了主要模块的设计与实现,并给出关键源代码和最终的效果图。

第五章,主要是对这次毕业设计的总结和对后续工作的展望。

第二章 系统应用的关键技术

2.1 JSP技术介绍

2.1.1 JSP的概述

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。

JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,包括HTML,DHTML,XHTML和XML,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。

2.1.2 JSP的运行机制

JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的客户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。

JSP请求的步骤[2]如图2-1所示。

(1)客户机请求一个JSP页面。

(2)JSP引擎编译该JSP成一个servlet。

Web

浏览器

JSP页面

生成的servlet

编译的servlet

Web服务器

2.第一次编译

3.第二次编译

1.请求

4.响应

图2-1 一个JSP的请求步骤

(3)生成的servlet被编译并装载。

(4)编译的servlet服务请求并把一响应发送回客户机。

JSP主要是针对Java程序处理不熟悉的人设计的。与Servlet相比,JSP有如下两个优势:方便与HTML混合;在开发、测试方面比Servlet方便。

2.1.3 JSP的强势与劣势

JSP的强势:

(1)可移植性。JSP是用Java开发的,因此它是可移植的,可以一处编写,随处运行,支持多平台。

(2)有效性。JSP的初始化代码仅在Web服务器第一次加载时执行一次。一旦加载,在处理一个新的请求时,只须调用一个新的服务方法。与处理每个请求都要全部加载一个完整的可执行程序相比,这是一个相当有效的技术。

(3)强大的可伸缩性和可扩充性。它能够在面向对象的语言(Java)中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。

(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

(5)Java Servlet是一种开发Web应用的理想框架。JSP以Servlet技术为基础,又在许多方面作了改进。利用跨平台的JavaBeans组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。

JSP的劣势:

(1)为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,Java系统中包括JRE,JDK,J2EE,EJB等多种产品,这就需要大量的学习和培训才能掌握它们,将它们有效地搭配在一起,灵活地加以运用。

(2)Java的运行速度快是由于用户将class常驻内存,这样使用的内存空间就比较大。另一方面,它还需要硬盘空间来存储一系列.Java文件和.class文件以及对应的版本文件。

(3)JSP只有对Java相当熟悉的人才能用得很好。

(4)JSP程序调试困难。

2.1.4 JSP与ASP的比较

JSP与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:

(1)Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。

(2)平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于一直到其它平台上。

(3)组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。

(4)脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。

(5)安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。

(6)与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用Data Active Objects。

(7)用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的[3]。

2.2 Java组件JavaBeans

2.2.1 什么是JavaBeans

JavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans[4]。

2.2.2 JSP与JavaBeans的关系

使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。使用JSP标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。

在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。

绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应用程序(如电子商务网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。

2.3 J2EE概述

J2EE(Java 2 Platform Enterprise Edition)是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE(Java 2 Platform Standard Edition)和适用于企业级应用的J2EE(Java 2 Platform Enterprise Edition)。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。

J2EE的优势主要有以下几点:

(1)高效的开发: J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:状态管理服务 -- 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。

(2)持续性服务 : 让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。分布式共享数据对象CACHE服务,让开发人员编制高性能的系统,极大提高整体部署的伸缩性。

(3)支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。

(4)可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

(5)稳定的可用性: 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。这是实时性很强商业系统理想的选择[5]。

2.4关于Struts

2.4.1 Struts简介

Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EE MVC实现方式。Struts用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。

2.4.2 Struts的主要功能

(1) 包含一个controller servlet,能将用户的请求发送到相应的Action对象。

(2)JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

(3)提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。Struts项目的目标是为创建Java web应用提供一个开放源代framework。Struts framework的内核是基于例如Java Servlets,

JavaBeans, ResourceBundles, 和 XML,以及各种 Jakarta Commons包的标准技术的灵活的控制层。Struts提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EE MVC实现方式[6]。

2.4.3 Struts工作原理

MVC(Model-View-Controller),是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,MVC可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。

MVC的工作原理如图2-2所示:

图2-2 MVC工作原理

Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts的工作原理,如图2-3所示:

图2-3 struts工作原理

(1)Controller:在XML文件Struts-config.xml中,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。

(2)视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库:Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。

(3)模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等[7]。

2.5 关于Spring

2.5.1 Spring简介

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益[8]。

◆目的:解决企业应用开发的复杂性

◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

◆范围:任何Java应用

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。

2.5.2 为什么需要Spring

你可能正在想“Spring不过是另外一个的framework”。当已经有许多开放源代码(和专有) J2EE framework时,我们为什么还需要Spring Framework?

Spring是独特的,因为若干个原因:

◆它定位的领域是许多其他流行的framework没有的。Spring关注提供一种方法管理你的业务对象。

◆ Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。

◆它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。

Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。

2.5.3 Spring带给我们什么

◆方便解耦,简化开发

通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

◆AOP编程的支持

通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。

◆声明式事务的支持

在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

◆方便程序的测试

可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。

◆方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hession、Quartz)等的直接支持。

◆降低Java EE API的使用难度

Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。

◆Java 源码是经典学习范例

Spring的源码设计精妙、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果[9]。

2.6 关于Hibernate

2.6.1为什么引入hibernate

在B/S项目的开发中,和数据库的交互式不可避免的,J2EE的规范中提供了JDBC的接口来操作数据库,对于JDBC,开发人员可以获取数据库连接,然后向数据库发送SQL语句,并返回数据库操作的结果集,然后封装成对象返回给上层的应用程序。这就造成开发人员不但要求能够编写程序,熟悉业务逻辑,还要求开发人员同时能够担任DBA,对开发人员的要求很高;同时,当引入新的项目时,很多地方必须废弃,因为我们的代码中不光是业务逻辑,其中也嵌入了许多和底层有关的一些SQL代码;

另外这些嵌入在代码中的SQL语句也影响了我们程序的可测试性,我们在对代码进行调试的时候,既要测试代码,同时我们还要测试SQL语句。为了解决这些问题,引入了hibernate[10]。

2.6.2使用Hibernate的好处

(1)Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP(Bean-Managed Persistence)里面的访问数据库的代码。

(2)Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和Application Server

没有任何关系,也不存在兼容性问题。

(3)Hibernate不能用来直接和Entity Bean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC

的替代者出现的,而不是Entity Bean的替代者出现的。

(4)由于是对JDBC的轻易级封闭,内存消耗少,最快的运行效率。

(5)开发效率高,Eclipse、JBuilder等主流JAVA集成开发环境对Hibernate有很好的支持,在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人。

(6)分布式,安全检查,集群,负载均衡的支持。

2.6.3 Hibernate的工作原理

Hibernate的工作就是为Object和Ralational之间提供一个映射,其工作流程如下面的图2-4所示。

图2-4 hibernate工作流程

(1) 启动Hibernate,如果在系统中添加Hibernate的支持,此处加载由系统自动完成。

(2) 读取hibernate.cfg.xml或者hibernate.properties文件的配置信息,并将其加载为实例。

(3) 构建SessionFactory实例(包含二级缓存)。

(4) 从SessionFactory中取得Session对象,从而可以调用其方法,对数据库进行操作,实现ORM的功能。

Hibernate可以通过一个XML的mapping文件把一个POJO(Plain old java object)和数据库中的表对应起来,在这个XML文件(一般命名为*.hbm.xml)中,我们可以配置好Object和数据库中标的映射关系,然后把这个mapping加入到hibernate.cfg.xml中,这样Hibernate在启动时就可以加载这些mapping,并可以根据配置文件对对象实现自动的加载,并且可以对这些Object实习自动的维护。Hibernate还提供查询语句(HQL)供应用程序使用,Hibernate对数据访问实现封装,还可以对查询语句的发送实现管理,达到优化的目的,能够有效减少数据库的访问频率。

2.7 Mysql

数据库(Database)是一系列信息资源的集合。在一个数据库中,与一个项目有关的所有信息都可以叫做一条记录(Record)。每一条记录都是由一系列的字段(Field)组成的。一系列记录的集合就构成了数据表格(Table)。对于一个简单的“平面文件”的数据库来说,它仅包含了一个数据表格,而对一个“关系型”数据库来说,它却包含两个或两个以上的数据表格,表格的各字段之间存在这一种或多种关系(有时可以把这种关系叫做“链接”)。

2.7.1 mysql的特点

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。

目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[11]。

2.7.2 mysql的安装和配置(部分截图)[12]

图2-5 mysql安装图(开始)

安装时一般采用默认路径:

图2-6 mysql安装图(路径)

图2-7 mysql安装图(数据库类型)

为了支持中文,在下面的列表框中学者gb2312(切记)

图2-8 mysql安装图(语言)

图2-9 mysql安装图(等待成功)

2.8 Tomcat服务器

2.8.1 Tomcat 服务器简介

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。 Tomcat中采用了Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性[13]。

2.8.2 Tomcat的特点

在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。

2.8.3 Tomcat的优势

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。

2.8.4 Tomcat服务器的安装和配置

在开始安装之前,先准备J2SDK和TOMCAT两个软件,如果已经安装了J2SDK,就只需TOMCAT即可。

(1)需设置的环境变量

变量名:CATALINA_HOME

变量值:D:/Program Files/tomcat6.0

变量名:CLASSPATH

变量值:.;%JAVA_HOME%/lib;%CATALINA_HOME%/common/lib

(2)安装完成后,打开tomcat服务器,启动浏览器,在地址栏上输入:localhost:8080/ 若出现以下界面说明安装成功[14]。

图2-10 tomcat启动页面

小结

本章全面介绍本系统所用到的关键技术和工具,其中jsp作为javaweb开发的基础,对它的运行机制要理解,同时还要明白它的优劣势;j2ee作为开发的标准也作了简单介绍。而SSH(struts+spring+hibernate)作为本系统的核心与亮点技术,更是作了详细介绍,要掌握他们的工作原理,主要功能。最后介绍了本系统使用的数据库mysql以及tomcat服务器的安装与配置。只有掌握了这些技术基础,才能使本系统的开发正常进行。

第三章 系统需求分析和总体设计

3.1 系统功能需求

图3-1 系统功能模块

如图3-1所示,在本系统中主要阐述用户管理、购物车管理、订单管理、产品展示四个模块。

(1)购物车管理:实现添加商品、取消一个商品、数量修改、清空购物车功能。

(2)订单管理:实现提交订单、删除订单、查询订单功能。

(3)产品展示:实现产品列表、产品明细功能。

(4)用户管理:实现用户注册、用户信息修改、用户删除、用户查询功能。

3.2 系统角色及其功能分析

3.2.1 系统的3个角色:

(1)注册用户

(2)管理员

(3)普通的网站浏览者(即游客)

3.2.2 系统角色的功能

(1)普通用户

网站的普通浏览者(即游客)只能浏览商品。

(2)注册用户

普通浏览者只要注册为网站用户后,获得自己的帐号,设置自己的密码就具有以下功能:登录,登出,向购物车中添加商品,生成并提交订单。添加或修改个人明细资料。

(3)管理员

拥有注册用户的所有功能

还可以对用户进行管理,包括添加新用户、修改用户密码、删除用户。

3.3 总体设计思想概述

本系统是基于B/S架构下的多层结构应用系统。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)[15]。

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。推荐的分层式结构一般分为三层,从下至上分别为:数据访问(持久)层、业务逻辑层(或称为领域层)、表示层[16],如图3-2:

图3-2 系统架构

总的来说,采用分层结构的设计思想,可以让每个层由一组相关的类或组件构成,共同完成特定的功能。层与层之间存在自上而下的依赖关系,上层组件会依赖下层组件的API,而下层组件则不依赖于上层组件。例如:表述层依赖于业务逻辑层,而业务逻辑层依赖于数据库层。并且每个层对对上层公开API,但具体的实现细节对外透明。当某一层发生变化,只要API不变,不会影响其他层的实现。

在本系统中,使用开源的mysql数据库,持久层用到spring所集成的Hibernate技术,业务逻辑层用普通javabean实现,表述层运用基于struts的MVC设计模式(struts用来做C层,spring实现V层与C层的解耦以及C层与M层的解耦)。

3.4 数据库设计

3.4.1 E-R图

下面是该系统数据库表的E-R图,如图3-3:

图3-3 E-R图

3.4.2数据表的设计

下面列出了设计过程中所用到的数据库表及其结构:

orders表用来保存客户的订单信息,如表3-1:

1. orders

列名类型长度描述

orderidint11订单ID

totalpriceNUMBER16总价钱

orderstateNUMBER1订单状态

payinfoDATE 付款方式

CreatetimeDATE 创建日期

useridVARCHAR220用户ID

User_item_idNUMBER8用户明细ID

表3-1 orders

2. orderline表用来保存客户订单中的订单项信息,如表3-2:

3. orderline

列名类型长度描述

order_item_idNUMBER16订单条目ID

ProductidNUMBER16商品对象ID

OrderidVARCHAR220订单对象ID

qualityNUMBER8数量

numNUMBER8商品数量

表3-2 orderline

3.orderstatus表用来保存定单状态,如表3-3:

orderstatus

列名类型长度描述

statusidint11状态ID

namevarchar30状态名

descriptionvarchar100描述

表3-3 orderstatus

4.users表用来保存用户个人信息,如表3-4:

users

列名类型长度描述

user_idint11用户ID

passwordvarchar15用户密码

表3-4 users

5.contactinfo表用来保存用户个人明细,如表3-5:

contactinfo

列名类型长度描述

contact_idint11

User_idvarchar30用户id

Street1varchar64住址1

Street2varchar64住址2

cityvarchar32城市

provincevarchar32省份

Countryvarchar32国家

zipvarchar20邮编

officephonevarchar50办公室电话

cellphonevarchar20手机

emailvarchar20电邮

homephonevarchar12家庭电话

表3-5 contactinfo

6.product表用来保存商品,如表3-6:

product

列名类型长度描述

productidint11产品

modlevarchar30产品型号

namevarchar15品牌名

companyvarchar20出品公司

weightdouble50产品重量

pricedouble20价格

statevarchar20产品状态

createtimedate 出厂日期

CategoryidInt10产品类型

descriptionvarchar1000产品描述

表3-6 product

7.category表用来保存商品类型,如表3-7:

category

列名类型长度描述

categoryidint11类型ID

namevarchar30类型名

descriptionvarchar100描述

表3-7 category

8. payway表用来保存权限信息,如表3-8:

payway

列名类型长度描述

paywayidint11ID

payStylevarchar30名

表3-8 payway

3.5 系统的类设计

3.5.1 DAO类设计

图3-4 dao类设计

如图3-4,通过这个工厂获取对应的 DAO,然后使用DAO 进行数据库操作。

3.5.2 POJO类设计(部分)

图3-5 POJO类设计

这些实体类将通过hibernate映射到数据库中

3.5.3 过滤器类设计

图3-6 过滤器类设计1

如图3-6,这是编码过滤器类,通过他可保证页面不出现乱码问题。

图3-7 过滤器类设计2

如图3-7,这是登陆安全过滤器类,通过它来达到控制访问权限的功能。

3.5.4 监听器类设计

如图3-8,“CartSessionListener”启动时把购物车信息初始化到内存中,提高系统性能。“ProductContextListener”启动时把商品信息初始化到内存中,提高系统性能。

图3-8 监听器类设计

3.6系统的用例图

3.6.1 总体用例分析

图3-9 总体用例图

如图3-9,用户管理、购物车管理、订单管理、产品展示四个模块构成了本网上交易系统。User是指系统用户,包括注册用户和匿名用户两种,匿名用户只可以浏览商品,匿名用户通过用户管理模块注册后就可以使用购物车和下订单。

3.6.2 用户管理用例分析

图3-10 用户管理用例图

如图3-10,用户管理模块主要包括:用户登陆、用户注册、用户信息修改、用户删除、用户信息查询五个功能组成。

3.6.3 购物车管理用例分析

图3-11 购物车管理用例图

如图3-11,购物车管理模块主要包括:添加商品、取消一个商品、数量修改、清空购物车四个功能组成。

3.6.4 订单管理用例分析

图3-12 订单管理用例图

如图3-12,订单管理模块主要包括:订单提交、删除订单、订单明细三个功能组成。

3.6.5 产品展示用例分析

图3-13 产品展示用例图

如图3-13,商品展示模块主要包括:产品列表、产品明细两个功能组成。

小结

本章首先分析系统的功能需求,通过对系统功能模块的划分以及角色的划分,明确了系统需求,为总体设计提供依据。接下来阐述了系统的总体设计思想,说明了本系统是基于B/S架构下的多层结构应用系统。最后通过对数据库、过滤器、监听器、和实体类的设计分析,以及各个模块用例图的描述,形成了开发的整体思路,为下一步编程实现各个具体功能铺平了道路。

第四章 系统的详细设计

4.1 数据库与POJO映射的实现

前面第二章曾介绍过:Hibernate可以通过一个XML的mapping文件把一个POJO(Plain old java object)和数据库中的表对应起来,在这个XML文件(一般命名为*.hbm.xml)中,我们可以配置好Object和数据库中表的映射关系,然后把这个mapping加入到hibernate.cfg.xml中,这样Hibernate在启动时就可以加载这些mapping,并可以根据配置文件对对象实现自动的加载,并且可以对这些Object实习自动的维护。

由于Spring提供了对Hibernate的集成,所以我们可以不配置hibernate.cfg.xml文件,而通过在applicationContext.xml文件中进行相关配置来达到同样的目的。图例说明如下:

图4-1 user.hbm.xml

如图4-1,user.hbm.xml文件配置了user类的相关信息。

图4-2 session工厂配置

图4-2是applicationContext.xml文件中Session工厂的配置信息,可以看到,图中的mappingResources属性中囊括了所有我们需要的mapping文件。

4.2 主要模块的设计说明与界面

4.2.1用户管理模块

用户管理模块主要包括用户注册,登录,退出3个部分.

(1)用户注册

当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图4-3所示.

图4-3用户登录/注册界面

如果用户的注册信息不符合要求,系统会提示用户,部分结果如图4-4:

图4-4登录信息提示界面

校验用户注册信息是是否正确的javaScript部分代码如下[17]:

当用户确认所提按信息无误后,单击“注册“按钮,系统会执行以下流程:

request 请求将页面上的信息传递到控制层的struts中的Action类中,执行以下代码

/*

* 注册一个新用户

*/

public ActionForward register(ActionMapping mapping,

ActionForm form,HttpServletRequest req, HttpServletResponse res) throws Exception {

ActionForward forward = null;

RegisterActionForm registerForm = (RegisterActionForm) form;

User user = registerForm.getUser;

ContactInfo contactInfo = registerForm.getContactInfo();

if (userBiz.getUserById(user.getUserid()) != null) {

user.setContactinfo(contactInfo);

req.setAttribute(“user”, user);

forward = mapping.findForward(“refresh”);

} else {

try {

log.debug(“begin save user info . . .”);

userBiz.userRegister(user, contactInfo);

req.setAttribute(“TIP_KEY”, “恭喜您!注册成功!”);

forward = mapping.findForward(“success”);

} catch (ECPortException be) {

forward = mapping.findForward(“fail”);

be.printStackTrace();

log.error(“save user info error. . .”, be);

}

}

return forward;

}

在UserService中调用dao中的addUser方法,代码如下:

public void addUser(User user) throws StoreException {

.....

try {

session = HibernateSessionFactory.getSession();

tx = session.beginTransaction();

session.save(user);

tx.commit();

} .....

}

在注册成功后,会跳转到这样的页面,如图4-4:

图4-4注册成功界面

(2)用户登录

网站首页在用户第一次访问时会判断用户是否登录,未登录则显示用户登录窗口,提示用户登录或注册.对于已经登录的用户,在用户登录窗口将显示用户的相关信息.

首页主要是根据保存用户名信息的Session参数来判断用户是否已经登录的,关键代码如下:

在会员登录窗口中单击登录按纽后,系统将对用户名和密码进行验证,判断用户是否是已注册用户,如果已注册,则更新用户在网站中的状态,如果没有注册,则拒绝用户的登录操作,登录数据验证的程序代码如下:

/*

* 用户登录方法

*/

public ActionForward login(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

String username = request.getParameter(“userid”);

String password = request.getParameter(“password”);

if (userService.isLoginCorrect(username, password)) {

User user = userService.getUserByName(username);

/*

* 只有在用户登录的时候才创建一个session,并且把用户的信息存放到session中;

* 同时sessionListener也会把car同时也放到session中,这样能保证为每一个来

* 网站需要购物的用户分配一个session,一个购物车,并且也可以利用session来 跟踪用户.

*/

HttpSession session = ((HttpServletRequest) request).getSession(true);

session.setAttribute(“user”, user);

return mapping.findForward(“loginsuccess”);

} else {

String message = “用户名或者密码错误!”;

request.setAttribute(“message”, message);

return mapping.findForward(“loginfailed”);

}

}

public User getUserByName(String name) throws StoreException {

Session session = null;

try {

session = HibernateSessionFactory.getSession();

User user = (User) session.createQuery(

“from User u where u.username = '” + name + “'”)

.uniqueResult();

return user;

} ....

}

(3)用户退出

当用户决定退出网站时,只要点击当前页面上的“退出”按钮,就会回到首页。

实现代码如下:

/*

* 用户退出系统并做一些清理工作;

*/

public ActionForward logout(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

HttpSession session = request.getSession();

session.removeAttribute(“user”);

session.removeAttribute(“cart”);

return mapping.findForward(“logout”);

}

(4)管理员登录

系统设置了一个默认的管理员admin,只要通过此用户名登录就可进入管理员界面,如图4-5和图4-6所示:

图4-5 管理员登录

图4-6 管理员界面

主要代码如下:

public ActionForward toModify(ActionMapping mapping, ActionForm form,

HttpServletRequest req, HttpServletResponse res) throws Exception {

HttpSession cur_session = req.getSession(false);

User user = (User) cur_session.getAttribute(“USER”);

String userid = user.getUserid();

String reqUserid = req.getParameter(“userid”);

if (reqUserid == null) {

List userList = userBiz.findAllUsers();

cur_session.setAttribute(“userList”, userList);

if (userid.equals(“admin”)) {

return mapping.findForward(“adminInfo”);

} else {

User p_user = userBiz.getUserById(userid);

req.setAttribute(“user”, p_user);

}

}

if (reqUserid != null) {

User p_user = userBiz.getUserById(reqUserid);

req.setAttribute(“user”, p_user);

}

return mapping.findForward(“modify”);

}

4.2.2购物车管理模块

购物车管理模块主要功能有如下几个部分:

(1)创建购物车

当客户登录后,系统会给客户创建一个购物车放入服务器的Session会话中。使客户在整个会话中都拥有一个相同的购物车。这里主要运用了Http协议中的会话机制,将购物车保存在客户的会话中,这样在整个客户游览不同页面商品的过程中,都会使用同一个购物车对象。

具体执行步骤:

(1)从客户的请求对象中获取Session会话对象

(2)从会话对象中获取购物车对象

(3)判断是购物车对象是不是空的,如果是空是就创建一个

/*

* 在监听到session被创建之后,就立即向session中添加一个购物车Car;

*/

public void sessionCreated(HttpSessionEvent arg0) {

HttpSession session = arg0.getSession();

Cart cart=new Cart();

session.setAttribute(“cart”, cart);

}

/*

* 从session中获得购物车

*/

Cart cart = (Cart) session.getAttribute(“cart”);

if (cart == null) {

cart = new Cart();

}

(2)向购物车中添加一个商品项

客户在查看网页上的一个商品时,当向服务器发送一个“添加到购物车”的请求时,会执行这个功能。

功能执行过程:

(1)从客户请求对象中获取商品的ID

(2)调用业务层的方法根据商品ID去数据查询商品的信息,返回商品对象

(3)从商品对象中获取商品名,商品价格,来构建一个商品项对象

(4)从Session会话中获取购物车对象

(5)调用业务层的方法来根据购物车对象和商品项对象来执行添加操作

(6)将些商品项对象放入到购物车中

部分实现代码:

/*

* 从数据库中把商品取到;

*/

ProductService productService = (ProductService) ServiceFactory.getInstance().getService(Globals.PRODUCT_SERVICE);

Integer id = Integer.parseInt(request.getParameter(“productid”));

Product product = productService.getProductById(id);

/*

* 在向购物车中添加商品的时候会判断商品是否已经存在,

* 已存在的就不让在加入了;

*/

if (cart.isExist(id)) {

message = “该商品已经存在!请返回!”;

request.setAttribute(“message”, message);

return mapping.findForward(“error”);

} else {

/*

* 向购物车添加一个商品;

*/

cart.addCart(product);

session.setAttribute(“cart”, cart);

return mapping.findForward(“addcartsuccess”);

}

(3) 修改购物车中一个商品项

在客户查看购物车时,想修改自己的购买商品时,会执行这个功能。由于商品的名称和价格都是系统管理人员设置的,所以客户都不可以修改,客户只能修改他/她所购买商品的数量。修改所选购的商品数量时,相应的商品项的小计和购物车的总计都会保持实时的更新,如图4-7。

图4-7 修改商品数量

功能的执行步骤:

(1)将ActionForm转换为ItemForm对象

(2)从ItemForm对象中获取商品ID

(3)从Session会话中获取购物车对象

(4)根据商品ID去调用业务层的方法去修改商品项

(5)修改小计

(6)将些商品项对象放入到购物车中

部分实现代码:

public ActionForward modifyNumber(ActionMapping mapping, ActionForm form,

HttpServletRequest req, HttpServletResponse res) throws Exception {

String tempid = req.getParameter(“productId”);

Long productId = Long.parseLong(tempid);

String tempNum = req.getParameter(“num” + productId);// num是一与JSP页面一致的字符串

int num = new Integer(tempNum).intValue();

HttpSession session = req.getSession(false);

IShoppingCart cart = (IShoppingCart) session

.getAttribute(“SHOPPING_CART”);

cart.modifyProductAmountById(productId, num);

return mapping.findForward(“success”);

}

(4)查看购物车

客户选取了所有的商品后,来向服务器发送“购物车”请求时,会执行此功能,系统根据会话中的购物车中的商品项,来获取客户所选选商品的一个集合,在JSP页面上对这个集合中的商品项进行显示,如图4-8。

图4-8 我的购物车

功能的执行步骤:

(1)从客户的请求对象中获取购物车对象

(2)从购物车对象中获取所有的商品项

(3)将所有的商品项对象加载到请求对象中发送给客户端

部分实现代码:

var=“orderLine” items=“${sessionScope.SHOPPING_CART.orders.orderlines}” varStatus=“status”>

(5)删除购物车中的一个商品项

客户在查看购物车时,当向服务器发送一个“删除商品项”的请求时,会执行这个功能。删除商品项时,系统会自动更新购物车的总计值,如图4-9:

图4-9 删除商品

功能执行过程:

1从客户请求对象中获取商品的ID

2调用业务层的方法根据商品ID去数据查询商品的信息,返回商品对象

3从Session会话中获取购物车对象

4调用业务层的方法根据商品ID去删除购物车对象中的商品项

5将购物车重新加入到Session会话中,来更新Session会话中的购物车对象

部分代码实现:

//删除购物车中一个商品项

public ActionForward deleteById(ActionMapping mapping, ActionForm form,

HttpServletRequest req, HttpServletResponse res) throws Exception {

String tempid = req.getParameter(“productId”);

Long productId = Long.parseLong(tempid);

HttpSession session = req.getSession(false);

ShoppingCart cart = (ShoppingCart) session

.getAttribute(“SHOPPING_CART”);

cart.removeProductById(productId);

if (cart.isEmpty()) {

return mapping.findForward(“index”);

}

return mapping.findForward(“success”);

}

(6)清空购物车

客户在查看购物时不要想要所有所选的商品时,向服务器发送“清空购物车”请求时会执行此功能。如图4-10:

图4-10 清空购物车

执行此功能的步骤:

(1)从请求对象中获取Session会话

(2)从Session会话中获取购物车对象

(3)将购物车对象传给业务层的方法去清空购物车中的所有商品项

部分实现代码:

/*

* 也就是从session中把购物车清除掉;

*/

public ActionForward clearShopCart(ActionMapping mapping, ActionForm form,

HttpServletRequest req, HttpServletResponse res) throws Exception {

HttpSession session = req.getSession(false);

IShoppingCart cart = (IShoppingCart) session

.getAttribute(“SHOPPING_CART”);

cart.removeAllProducts();

return mapping.findForward(“index”);

}

4.2.3 定单模块

生成订单是网上购物商城的最终目的,前面的所有的功能的实现都是为最后生成一个用户满意的订单做基础,在此要生成一个可以供用户随时查询订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变后,就可以到收银台结帐并生成订单。结帐的流程是:从购物车中读取商品名称,商品数量,商品价格信息,生成唯一的一个订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库中。

1、创建一个订单

客户选好了所有的商品时,并确认要买时,会向服务器发送一个“生成定单”的请求,运行结果如图4-11:

图4-11 生成订单

此时用户可以添加收货人的地址,点击图中的用户信息“修改”,会弹出一个页面,在此修改收货人地址等信息,如图4-12:

图4-12 修改收货地址

/*

* 将修改后的地址保存到数据库中,其中保存了用户的信息:id

*/

public void addUserItem(UserItem useritem) throws StoreException {

..

try {

session = HibernateSessionFactory.getSession();

tx = session.beginTransaction();

session.save(useritem);

tx.commit();

} ..

}

用户确认无误后点击图4-11的“提交订单“,会出现下图:

图4-13 订单列表

部分实现代码:

/*

* 确定定单

*/

public ActionForward checkOut(ActionMapping mapping, ActionForm form,

HttpServletRequest req, HttpServletResponse res) throws Exception {

ActionForward forward = null;

GregorianCalendar gc = new GregorianCalendar();

Long paywayid = Long.parseLong(req.getParameter(“payway”));

PayWay pw = new PayWay(paywayid);

List orderStatus = (List) req.getSession().getServletContext()

.getAttribute(“all_orderStatus”);

OrderStatus os = (OrderStatus) orderStatus.get(1);

HttpSession session = req.getSession(false);

User user = (User) session.getAttribute(“USER”);

ShoppingCart cart = (ShoppingCart) session

.getAttribute(“SHOPPING_CART”);

// Map orderLineMap = cart.getOrderLineMap();

Orders order = cart.getOrders();

order.setUsers(user);

order.setCost(cart.getTotalPrice());

order.setName(user.getUserid() + “-” + gc.get(gc.YEAR) + “”

+ gc.get(gc.MONTH) + “” + gc.get(gc.DAY_OF_MONTH));

order.setPayway(pw);

order.setOrderstatus(os);

try {

log.debug(“=== begin to generator order =====”);

orderBiz.checkOut(order);

log.debug(“==== generator order success . . .”);

forward = mapping.findForward(“success”);

} catch (ECPortException be) {

forward = mapping.findForward(“fail”);

log.error(“==== save user order fail...”, be);

be.printStackTrace();

}

cart.removeAllProducts(); // 定单产生后应清楚当明购物车中的商品

return forward;

}

/*

* 向数据库中保存一个指定的order对象;

*/

public void save(Orders transientInstance) {

log.debug(“saving Orders instance”);

try {

getSession().save(transientInstance);

log.debug(“save successful”);

} catch (RuntimeException re) {

log.error(“save failed”, re);

throw re;

}

}

2.查看定单

客户确认了所有的订单选项后,可以向服务器 发送“查看定单明细”的请求:当用户点击了图4-13上的“明细”按钮是,页面运行结果如下:

图4-14 订单明细

部分代码实现:

/*

* 根据指定的order对象来获得属于该order的所有orderline项;

*/

public ActionForward orderDetail(ActionMapping mapping, ActionForm form,

HttpServletRequest req, HttpServletResponse res) throws Exception {

ActionForward forward = null;

String tempid = req.getParameter(“orderid”);

Long orderid = Long.parseLong(tempid);

Orders order = null;

try {

order = orderBiz.getOrderById(orderid);

log.debug(“=== get order successful.===”);

req.setAttribute(“ORDER”, order);

forward = mapping.findForward(“showinfo”);

} catch (ECPortException be) {

log.error(“==== get failed .====”);

forward = mapping.findForward(“fail”);

}

return forward;

}

4.3 系统的测试

测试是软件开发必不可少的环节,每个开发者都应该养成良好的测试习惯,一个系统的完善就是通过不断地测试与维护来完成的。

测试的意义有以下几点[18]:

(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;

(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;

(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。

测试一般有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品的内部动作是否按照说明书的规定正常运行。前一个方法称为黑盒测试,后一个称为白盒测试。

对于本系统,我采取第一个方法,即黑盒测试。做完一个模块,就进行测试,看所做的模块能不能实现所需要的功能。经过了先期的模块测试和后期的综合测试,本系统实现了规格说明书的所有功能,达到了预期的要求。

小结

本章详细介绍了系统主要功能模块的具体实现,包括用户管理模块、购物车模块和定单模块,分析他们的设计思路,执行步骤,并给出了每个功能的主要实现代码,还有为每个功能的最终执行结果配上截图,让我们看到更直观的效果。最后对完成的系统进行了测试,介绍了两种主流的测试方法,给出了测试结果,达到了预期的要求。

第五章 总结与展望

5.1 工作总结

开发Web站点,是一项复杂、繁重的工作,需要多方面的知识。

此次通过设计网上交易系统,使我接触到许多基于java语言的WEB网络开发方面的知识,包括HTML语言,CSS级联样式表,客户端开发语言JavaScript,MVC分层体系结构,支持MVC架构的struts框架,开源服务器Tomcat,mysql数据库,服务器端开发语言JSP等,这些语言(或技术)扩展了我的知识面,也使我在制作的过程中对它们的特点,应用方向等有了基本的了解,并在实际的应用中大致明白如何将它们融合运用,以开发出界面美观,功能强大的Web站点来。

通过本次亲自动手设计系统,我更加深刻的了解系统开发的全过程,从中我熟练掌握了B/S结构Web应用软件设计的思想及其开发的全过程。首先要进行系统的需求分析,分析系统要达到什么功能,系统要划分为几个模块来设计,系统的具体功能应当如何去实现;分析完之后,考虑其涉及到的计算机专业知识,把问题细化,把大的问题划分为小的问题,然后逐个进行解决。毕业设计开始阶段,由于我们没有软件架构的设计经验,所以在项目的业务流程和软件的开发规范上犯了很的错误,所以在后期的组装过程变的非常的困难。

设计收获:

1.掌握了网站开发的基本流程,设计整个网站的功能模块图;

2.掌握了如何搭建和配置一个Tomcat服务器;

3.掌握了使用JSP编程,实现对信息的显示、修改、删除和添加等;

遇到的问题:

1.JSP中文乱码问题的解决

对于JSP中文乱码问题的处理,常用的方法有两种:一种方法是在JSP页面上设置页面的“contentType”属性。这种方法就是在页面开始时,设置页面的“contentType”属性,例如:

另一种方法是输出中文信息时使用“ISO 8859-1”编码。这种方法是在输出中文信息之前,对中文信息进行一次“ISO 8859-1”编码。

2.Java.lang.NullPointerException异常

一般是对一个为NULL值的变量进行操作引起的。为了避免这种异常,最好在对变量操作之前检查看它是否为NULL值。

3.SQL语句换行书写时未加适当的空格而导致的错误。我们先看一段代码,

String test=aaa;

String sql=〞select * from test〞+

〞where test1=’〞+a+〞’〞+

〞and test2=bbb〞;

上面所示的代码在执行时将转换成这样的SQL语句:

Select *from testwhere test1=’aaa’ and test2=bbb

从输出的SQL语句可以看出test和where之间,以及’aaa’和and之间都缺空格,这样是不能从数据库中取出数据的.正确的写法如下:

String test=aaa;

String sql=〞select * from test〞+

〞 where test1=’〞+a+〞’〞+

〞 and test2=bbb〞;

5.2 后续工作展望

由于个人能力有限以及实践经验欠缺,系统基本满足在线电子产品交易的功能需求,本系统不可避免有不足之处,如一些系统功能过于简单,所以系统的功能还算不上很完善。希望老师和同学能给予建议和指导。

参考文献

[1] 景玉建.电子商务的发展与前景[J].《职业时空》,第13期,P10-11

[2] 张孝祥.深入Java Web开发内幕——核心基础[M].北京:电子工业出版社.北京..10

致谢

本次毕业设计的最终完成离不开很多人的大力协助。衷心的感谢上海达内科技有限公司在我实习期间交给我这个项目任务,使我有了设计课题,还感谢在实习期间给我帮助的项目经理以及公司同事。真诚的感谢本次毕业设计的指导老师-宋玲教授,给了我自由选题的机会,在我的论文审稿阶段指出了很多方面的不足,并一一给出修改意见,对我进行悉心指导,对我的毕业论文最终完成给予了极大的支持和帮助。

特别感谢曹杰师兄,在毕业设计中遇到难点的时候,热情和耐心地给予指导,对我毕业设计工作的顺利完成有着重要的意义。

最后,再一次感谢所有帮助过我的人们!

篇6:毕业论文文献综述格式参考

毕业论文文献综述格式参考

一、内容要求

文献综述是在研究选题确定后并在大量搜集、查阅相关文献的基础上,对相关课题或相关领域已有研究成果进行的综合性介绍,目的是理清本课题已有的研究基础及尚存的研究空间,它既可以给研究者在充分借鉴前人已有成果的基础上如何进一步深化本课题的研究指明方向,还可以帮助读者(或论文审阅者)明确本研究的新意所在。因此,写好文献综述,对于课题研究具有重要作用。

文献综述的结构一般由下列成份构成:

1、标题。文献综述的标题一般多是在论文选题的标题后加“研究综述”或“文献综述”字样。

2、提要或前言。此部分一般不用专设标题,而是直接作为整个文献综述的开篇部分。内容是简要介绍本课题研究的意义;将要解决的主要问题;如果本课题涉及到较前沿的理论,还应对该理论进行简要介绍;最后要介绍研究者搜集的资料范围及资料来源,其中要讲清查阅了哪些主要着作、在网络中查询了哪些资料库(如中国期刊网全文数据库、学位论文全文数据库等)、并以怎样的方式进行搜索(如通过输入“关键词”或“作者名”或“文章名”进行搜索,一般用精确匹配),共搜索到的相关论文的篇目数量多少,对自己有直接参考价值的论文有多少等信息。

3、正文。这是文献综述的核心部分。应在归类整理的基础上,对自己搜集到的有用资料进行系统介绍。撰写此部分时还应注意以下两点:

其一、对已有成果要分类介绍,各类之间用小标题区分。以下是常见的分类线索:按时空分类(如:本课题的研究历史与研究现状、国外研究现状与国内研究现状);按本课题所涉及的不同子课题分类;按已有成果中的不同观点进行分类,等等。

其二、既要有概括的介绍,又要有重点介绍。根据自己的分类,对各类研究先做概括介绍,然后对此类研究中具有代表性的成果进行重点介绍。重点介绍时要求要点明作者名、文献名及其具体观点。无论是概括介绍还是重点介绍的文献资料均要求将文献来源在参考文献中反映出来,但不要求一一对应。

4、总结。对上述研究成果的主要特点、研究趋势及价值进行概括与评价。此部分应着重点明本课题已有的研究基础(已有成果为自己的研究奠定了怎样的基础或从中受到怎样的启发)与尚存的研究空间(本课题已有研究中存在的空白或薄弱环节)。

5、参考文献。要求列出的参考文献不少于10种,并按论文中的参考文献的格式将作者名、文献名、文献出处、时间等信息全面标示出来。

二、格式要求:

1、字数要求:3000字以上。

2、打印格式:

纸型-A4;单面打印;字号:标题--宋体三号,加粗。作者及单位名-宋体四号。正文--宋体小四号。参考文献格式按毕业论文参考文献的格式书写。

页面设置:页边距:上下左右均为2.5厘米;行间距:1.5倍距离;字符距离:标准。页码设置:居中。

3、排版格式:(示例)

政法与历史学院毕业论文文献综述

(3000字以上)

题目XXX文献综述(四号,宋体,黑体居中)

摘要:×××(五号,宋体)

关键词:×××(五号,宋体)

导言:×××(五号,宋体)

(阐明文献综述的写作目的、意义,综合所阅读文献提出论文所涉及的问题以及本文具体的研究方向并加以说明。)

正文:×××(五号,宋体)

(对所阅读论文涉及的学科研究前沿、热点问题加以阐述。可联系实际列举目前本课题研究的现状和存在的问题。介绍与主题有关的详细资料、动态、进展、展望以及对以上方面的评述。)

总结:×××(五号,宋体)

(简要总结本课题的研究现状和具体问题,进一步明确研究方向。)

参考文献(五号,宋体)例:

[1]××××××

[2]××××××

篇7:毕业论文如何引用文献

一、研究对象

选取韩山师范学院教育技术专业届-届232篇毕业论文文后的参考文献作为研究对象。

二、研究方法和研究目的

采用内容分析法建立相应的类目表,对参考文献的数量、类型、时效、质量、著录规范等情况进行统计处理,分析参考文献引用现状,发现存在问题,提出改善措施,提高学生规范引用参考文献能力,从而提高毕业论文的学术水平和质量。

三、研究结果

1.参考文献的数量

参考文献的数量既反映学生在进行毕业论文研究时信息检索能力,也反映学术动向和理论来源的基本线索。

从图1可以看出,教育技术专业毕业论文文后参考文献引用数量,虽然各届数据略有变化,但变化幅度不大,40%多的论文的参考文献为5~8篇,约40%的论文参考文献为9~12篇,12篇以上的仅为12%,篇均参考文献引用数量为9篇。

2.参考文献的类型

在本次统计中,根据我国发布GB 7714?87《文后参考文献著录规则》[3]中参考文献的类型,分为著作、期刊、论文集、报纸、标准、电子文献、学术论文、报告和未定义类型文件进行统计,其分布见表1。

从表1的比例,可以发现期刊占58%,成为教育技术专业学生完成毕业论文的主要参考文献的来源;著作占32%,为第二大研究资料来源。

值得一提的是随着网络越来越普及,信息获取变得更加容易,电子文献成为第三种主要参考文献。

另外,对学术论文、论文集、报纸、报告、标准等不同类型的文献资料都有引用,但引用量较小,合计仅占5.1%。

3.参考文献的时效

一般来说,参考文献的新旧程度可间接反映研究者所拥有知识的新旧程度,从而可以看出他是否了解本学科本领域最新的研究动向,据此可从一个侧面来判断该论文学术水平的高低。

[4]从图2可以看出,学生毕业论文文后参考文献3年内文献的引用数量从2007届的53%下降到2009届的41%,学生完成论文对近期文献的引用数量不升反降,值得关注。

4.参考文献的质量

引用参考文献提倡著录权威的、高水平的、前沿性的文献,这不仅说明作者的眼界、水平和科学态度,也反映出论文的起点和深度,增加文中论点、论据的可靠性。

图3显示学生引用参考文献中核心期刊从2007届的16%到2009届的18%,比例虽然略有上升,但都不足20%,总体比例还是不高。

5.参考文献著录的规范程度

正确著录参考文献表明对他人劳动的尊重,避免抄袭、剽窃的嫌疑,体现作者科学的作风和严谨的治学态度。

从图4可以看出,届的论文参考文献著录的规范程度最高达到70%,这与当年学院进行的本科教学合格评估,加强毕业论文监管不无关系,2009届的参考文献著录的规范程度较低,只有57%,高达43%的参考文献著录不规范。

四、存在的主要问题

1.参考文献数量偏少

毕业论文反映学生对专业知识的应用能力和学生对学科发展方向的把握,是学生综合能力和科研能力的体现。

统计结果显示,学生毕业论文的参考文献数量总体偏低,46%的论文的参考文献仅为5~8篇,篇均参考文献数为9篇,数量偏少的参考文献说明学生信息检索能力低,令人怀疑其对所选的研究课题的认识是否全面而深入,必定影响论文的学术水平。

2.参考文献类型相对集中

研究结果显示,毕业论文的参考文献类型主要集中在期刊和著作,当然期刊的知识更新速度快、一次发表数量多、知识覆盖面广、影响广泛,并能反映专业科研新动向,而著作的知识稳定、内容深、研究的问题成熟、知识结构体系系统,成为主要参考资料未可厚非。

但是毕业论文的写作具有明确的专业性和目的性,参考文献类型越是多样化,越是广泛而全面,越能说明作者研究视野的开阔性和对特定课题进行深入研究,越能反映出该文的研究水平所处的位置。

3.参考文献时效相对较长

学生毕业论文的引用参考文献的时效性较长,有53%以上的文献资料是3年前出版的。

教育技术专业是发展中学科,新技术、新理论、新观点、新设计、新工艺、新方法层出不穷,处在不断的发展变化之中,如果一篇论文的参考文献全部来自多年以前,很难让人信服它反映了最新的科研成果。

4.参考文献质量不高

高水平、高质量的参考文献能反映该学科领域最新的、最前沿的科学技术水平和发展动向,越具有新的观点、新的分析材料和新的数据或结论,越有利于显示论文的研究起点、深度和广度。

但数据显示,毕业论文中高达83%的参考文献来自一般的刊物,权威的、有影响的文献只占17%。

5.参考文献著录不规范

参考文献著录格式的规范、严谨,可以提升毕业论文的科学性和可信度[5]。

统计显示,有34%参考文献著录格式不统一、不规范、不准确,这从一个侧面反映学生对待科研的严谨态度。

五、产生问题的成因

1.学生的重视度不够

学生对参考文献引用的重视程度不够,不理解其重要意义,马虎应付。

加上近年来就业压力越来越重,一些学生对撰写毕业论文不以为然,认为找到工作、考上公务员或者研究生更重要,论文能过关就行。

还有一些学生有错误认识,认为毕业论文写作只不过是走个过场,不经过周密的资料查阅和分析,随意找几篇相关的文献拼凑就成。

2.缺少规范引用参考文献知识

由于本科期间没有开设论文撰写规范方面的课程或缺少相关讲座,多数学生没有学习过学术论文写作规范,相关知识往往由指导教师口耳相传或是学生自己模仿报刊文章,缺乏系统化、规范化的知识体系。

[6]学生本身专业知识欠缺或理解水平有限,不能正确领悟参考文献所表达的意思,断章取义,取其所需,加上有些指导教师自己对国家规定的文献撰写标准和要求不熟悉、不了解,缺乏监管能力和意识,表现出对文献引用的不负责任和敷衍态度。

3.参考文献著录的格式要求多难以把握

我院本科生的毕业论文是严格按照《国家标准GB/T 7714?》的要求来进行,其中对文后参考文献的著录格式要求确实很多,每一种类型的参考文献及其具体要求也不尽相同,学生由于平时学习中接触较少,加上写作态度不严谨,在格式把握方面难免存在问题。

六、建议及措施

1.对学生进行相关培训

在毕业论文写作过程中,无论是学生还是指导教师都应充分认识到参考文献的数量、类型、时效和质量直接关系到论文的品质。

应端正科研态度,意识到参考文献的重要性,使参考文献引用达到规范化。

[7]在美国,早在20世纪40年代,学术论文写作就被列为高等院校的应用写作教学内容,日本也把学术性论文写作作为应用文体来教授[8]。

根据国外经验,开设学术性文章规范课程,有利于学生养成良好的遵守相关规范的素养,培养学生形成严谨的学术态度和习惯,规范引用参考文献,减少抄袭和侵权现象。

如开课条件不成熟,可邀请校内外一些论文写作水平高的教师或专家,开展学术论文写作规范讲座或咨询活动,有针对性地指出论文写作中常出现的问题和提供解决问题的方法,让学生掌握论文写作的规范和技巧。

[9]此外,学校的学报编辑部网站或校园宣传栏,也可定期开设学术性论文写作规范专栏,通过电子留言板、电子邮箱来回答学生提出的写作规范问题或遇到的种种疑问,帮助学生提高论文写作水平,顺利完成毕业论文的撰写。

2.发挥指导教师的把关作用

在毕业论文的写作过程中,指导教师直接面对学生的种种疑问和问题,指导教师的专业素质直接影响学生论文的完善和质量的提升,因此,指导教师也要不断学习,形成严格按标准指导论文的主动性和善于识别错误的敏锐性。

对参考文献的获得、取舍、引用,给予专业的指导;对于规范的引用,应多一份耐心和细致,不厌其烦、认真把关,指导学生不断修改,一步步规范完善论文,为提高学生论文质量奠定良好的基础,让他们在不断修改论文过程中,增强论文写作的规范意识以及提高规范引用参考文献的能力。

3.建立参考文献审查模式

将参考文献引用纳入学生毕业论文质量评估体系,对参考文献著录的有关事项进行认真审核,建立参考文献审查模式,成立审核小组。

从总体上把握毕业论文参考文献的基本情况,对参考文献的数量、类型、时效性、质量等进行考察,时效性不强的应予以删除,并建议作者补充较新的文献,对于数量过少或质量较低者,可建议作者适当增加一些高质量有影响的文献资料。

审核参考文献著录格式、著录顺序及其在文中的标注情况,消除转引过程中可能出现的错误。

最后,通过数字化资源检查所引用的文献是否正式出版物,是否完全或部分剽窃他人作品等做出判断并正确著录参考文献。

[1]总之,参考文献作为学位论文的`一个组成部分,其规范化引用是论文质量高低的一个重要的量化标准,也是严肃的科学态度体现,不可掉以轻心,需要通过作者、指导教师和审核者共同努力,使参考文献的合理引用和规范著录走上正确的轨道。

论文参考文献自动引用方法介绍【2】

解决办法:

1). 光标移到要插入参考文献的地方,菜单中“插入”—“引用”—“脚注和尾注”。

2). 对话框中选择“尾注”,所在位置建议选“文档结尾”。

编号格式中选阿拉伯数字。

3). 确定后在该处就插入了一个上标“1”,而光标自动跳到文章最后,前面就是一个上标“1”,这就是输入第一个参考文献的地方。

4). 将文章最后的上标“1”的格式改成需要的格式(记住是改格式,而不是将它删掉重新输入,否则参考文献以后就是移动的位置,这个序号也不会变),再在它后面输入所插入的参考文献。

5). 对着参考文献前面的“1”双击,光标就回到了文章内容中插入参考文献的地方,可以继续写文章了。

6). 在下一个要插入参考文献的地方再次按以上方法插入尾注,就会出现一个“2”(Word已经自动为你排序了),继续输入所要插入的参考文献。

7). 所有文献都引用完后,你会发现在第一篇参考文献前面一条短横线(页面视图里才能看到),如果参考文献跨页了,在跨页的地方还有一条长横线,这些线无法选中,也无法删除。

这是尾注的标志,但一般科技论文格式中都不能有这样的线,所以一定要把它们删除。

8). 切换到普通视图,菜单中“视图”——“脚注”,这时最下方出现了尾注的编辑栏。

9). 在尾注右边的下拉菜单中选择“尾注分隔符”,这时那条短横线出现了,选中它,删除。

10). 再在下拉菜单中选择“尾注延续分隔符”,这是那条长横线出现了,选中它,删除。

11). 切换回到页面视图,参考文献插入已经完成了。

这时,无论文章如何改动,参考文献都会自动地排好序了。

如果删除了,后面的参考文献也会自动消失,绝不出错。

参考文献范例:

[1] 宗跃光.北美估价师如何评估受环境污染的不动产[J].中国房地产估价师,(1):77-80.

[2] 熊克祥,徐世俊.浅谈环境因素对房地产估价的影响[J].城市探索,(9).

[3] 白红艳,白子璞,蔡敬侠.浅析环境生态因素对房地产价值的影响[J].房地产估价师,(2).

[4] 朱晓玲.环境对房地产价值的影响[J].法制博览,(2).

[5] 张智秀,丁勇才.北美地区受污染房地产估价之文献研究(下)[J].中国房地产估价师,(5):72-73.

[6] 艾东,朱彤,乐小芳.污染土地价值评估探讨 [J] .生态环境学报,2010,19(5):1253-1260.

[7] 王全民.环境因素与房地产价值评估[J].国际房地产估价学术研讨会论文集,2005:69-73.

篇8:毕业论文外文文献格式

参考文献的引用应当实事求是、科学合理,不可以为了凑数随便引用。毕业论文外文文献的格式是什么?

毕业论文外文文献格式

格式要求

一、翻译的外文文献一般为1~2篇,外文字符要求不少于1.5万(或翻译成中文后至少在3000字以上)。

二、翻译的外文文献应主要选自学术期刊、学术会议的文章、有关着作及其他相关材料,应与毕业论文(设计)主题相关,并作为外文参考文献列入毕业论文(设计)的参考文献。并在每篇中文译文首页用“脚注”形式注明原文作者及出处,中文译文后应附外文原文。

三、中文译文的基本撰写格式为题目采用小三号黑体字居中打印,正文采用宋体小四号字,行间距一般为固定值20磅,标准字符间距。页边距为左3cm,右2.5cm,上下各2.5cm,页面统一采用A4纸。

四、封面格式由学校统一制作(注:封面上的“翻译题目”指中文译文的题目,附件1为一篇外文翻译的封面格式,附件二为两篇外文翻译的封面格式),若有两篇外文文献,请按“封面、译文一、外文原文一、译文二、外文原文二”的顺序统一装订。

标题(20字以内,可用副标题补充说明,4号黑体加粗。居中)

(5号 空一行)

外文作者署名(Times New Roman5号,居中)

(5号 空一行)

(外文翻译成中文的内容)(5号宋体)

(5号 空一行)

外文着录

(填写此项内容)(5号宋体)

按照: 着录/ 题名/ 出版事项顺序排列注明

期刊--着者,题名,期刊名称,出版年,卷号(期号),起始页码。

书籍--着者,书名,版次(第一版不标注),出版地,出版者,出版年,起始页码。

说明:译文前面附被翻译的外文原件复印件,复印件用与论文稿纸相同大小的白纸(A4纸张)复印

参考文献范例:

[1] FREDERICK S,RICHARD B,ERIC M, Full body interface pressure testing as a method for performance evaluation of clinical support surfaces [Jj. Applied Ergonomics, ,29(6): 491-497.

[2]Roy J E, Dick F S, Eus J W.Skin temperature and sleep-onset latency: Changes with age and insomnia [J]. Physiology Behavior, 2007, 90(2-3): 257~266.

[3]Hyunja L, Sejin P. Quantitative effects of mattress types (comfortable vs. uncomfortable) on sleep quality through poly-somnography and skin temperature[J]. International Journal of Industrial Ergonomics,2006, 36(11): 943一949.

[4]Miguel L T, Rosa P J. Objective firmness, average pressure and subjective perception in mattresses for the elderly [ J].Applied Ergonomics, 2008, 39(1):123-130.

[5]Ling L T,Hau M L.Effects of bedding systems selected by manual muscle testing on sleep-related respiratory disturbances [J] .Applied Ergonomics, 2008,39(2):261-270.

[6]Haex B. Back and bed: Ergonomic Aspects of Sleeping CRC Press, Boca Raton,FL, 2004.

[7]Hildebrandt V H, Back pain in the working population: prevalence rates in Dutch trades and professions [J]. Ergonomics, 1995, 38.

[8]Lee H, Park S. Quantitative effects of mattress type on sleep quality through polysomnography and skin temperature [J]. Industrial Ergonomics, 2006, 36:934-949.

[9]Jacobson B H,Wallace T J, Smith D B, et al. Grouped comparisons of sleep quality for new and personal bedding systems [J]. Applied Ergonomics, 2007,39.

[10]Bader.GQ Engdal S. The influence of bed firmness on sleep quality [J]. Applied Ergonomics, ,31.

[11]BUCKXEP, FERN ANDES A. Mattress evaluation-assessment of a cont act pres sure,comfort and discomfort [J]. Applied Ergonomics, 1998,29(1)。

[12]DE VOCHTAJW, WILDERB D Q BANDST RABER. Biomechanical evaluation of our different mattresses [J]. Applied Ergonomics,2006,37(3)。

[13]Allyson Tenney.Technical Rationale for the Standard for the Flammability (Open Flame) of Mattress Sets and Responses to Related Public Comments[J].Engineering Sciences,2006(6)。

[14]Alihankaa J,Vaahtorantaa K. A static charge sensitive bed:A new method for recording body movements during sleep Electroencephalography and Clinical Neurophysiology[J]. International Journal of Industrial Ergonomics,1979,46 (6)。

[15]Slater K. Human comfort[M], Spring.eld. IL,1985.

[16]Leea H, Park S- Quantitative effects of mattress types(comfortable vs uncomfortable)on sleep quality through polysomnography and skin temperature[J]. International Journal of Industrial Ergonomics, 2006,36(11)。

[17] CPSC 16 CFR Part 1633,Standard for the Flammability (Open Flame) of Mattress Sets; Final Rule. Consumer Product Safety Commission[S]. March 15,2006.

[18] Memorandum from Allyson Tenney, ES,to Margaret Neily, Engineering Sciences. Technical Rationale for the Standard for the Flammability (Open Flame) of Mattress Sets and Responses to Related Public Comments[R]. January 6,2006.

1.毕业论文格式

2.毕业论文正文要求格式

3.修改毕业论文标题格式

4.法学毕业论文格式要求

5.毕业论文封面格式要求

6.标准毕业论文排版格式

7.医学毕业论文格式要求

8.毕业论文格式通知

9.毕业论文格式

10.学术毕业论文提纲格式

篇9:毕业论文英文文献格式

一、参考文献的类型

参考文献(即引文出处)的类型以单字母方式标识,具体如下: M――专著C――论文集N――报纸文章 J――期刊文章D――学位论文R――报告

对于不属于上述的文献类型,采用字母“Z”标识。 对于英文参考文献,还应注意以下两点:

①作者姓名采用“姓在前名在后”原则,具体格式是:姓,名字的首字母.如:MalcolmRichardCowley应为:Cowley,M.R.,如果有两位作者,第一位作者方式不变,&之后第二位作者名字的首字母放在前面,姓放在后面,如:FrankNorris与IrvingGordon应为:Norris,F.&I.Gordon.;

②书名、报刊名使用斜体字,如:MasteringEnglishLiterature,EnglishWeekly。

二、参考文献的格式及举例

1.期刊类

【格式】[序号]作者.篇名[J].刊名,出版年份,卷号(期号):起止页码. 【举例】

[1]王海粟.浅议会计信息披露模式[J].财政研究,,21(1):56-58. [2]夏鲁惠.高等学校毕业论文教学情况调研报告[J].高等理科教育,2004(1):46-52.

[3]Heider,E.R.&D.C.Oliver.Thestructureofcolorspaceinnamingandmemoryoftwolanguages[J].ForeignLanguageTeachingandResearch,,(3):62C67.

2.专著类

【格式】[序号]作者.书名[M].出版地:出版社,出版年份:起止页码. 【举例】[4]葛家澍,林志军.现代西方财务会计理论[M].厦门:厦门大学出版社,:42.

[5]Gill,R.MasteringEnglishLiterature[M].London:Macmillan,1985:42-45.

3.报纸类

【格式】[序号]作者.篇名[N].报纸名,出版日期(版次). 【举例】

[6]李大伦.经济全球化的重要性[N].光明日报,1998-12-27(3).

[7]French,W.BetweenSilences:AVoicefromChina[N].AtlanticWeekly,198715(33).

4.论文集

【格式】[序号]作者.篇名[C].出版地:出版者,出版年份:起始页码. 【举例】

[8]伍蠡甫.西方文论选[C].上海:上海译文出版社,1979:12-17.

[9]Spivak,G.“CantheSubalternSpeak?”[A].InC.Nelson&L.Grossberg(eds.).VictoryinLimbo:Imigism[C].Urbana:UniversityofIllinoisPress,1988,pp.271-313.

1.毕业论文外文文献格式

2.留学生毕业论文的文献格式

3.论文格式与参考文献格式

4.毕业论文格式

5.文献综述字体格式要求

6.英语论文参考文献格式

7.参考文献格式学位论文

8.文献综述写作格式

9.详解文献综述格式

10.毕业论文格式要求

篇10:毕业论文文献综述

毕业论文文献综述模板

在写文献综述的时候,要系统的查阅和自己毕业设计选题,直接相关的国内外文献,搜集文献尽量的全,尽量选择自己学术期刊或者是学术会议,掌握全面,大量的文献资料,是写好综述的前提。文献综述的`题目不宜过大,范围不宜过宽,在引用文献的时候,要注意选用代表性,可靠性和科学性较好的文献。在文献综述的时候,要说明毕业设计选题方向的发展,历史,他人的主要研究成果,存在的问题以及发展趋势等等。文献综述在逻辑上要合理,要做到由远及近,先用引用关系较远的文献,最后才是关联最密切的文献。要围绕主题对文献的各种观点作比较分析,不要教科书式的向有关的理论和学派观点简要地进行汇总陈述一遍。

评述,要引用原作者的原文,防止对原作者论点的误解。文献综述要条理清晰,文字通顺简练,采用的文献中的观点和内容要注明来源,模型,图标,数据要注明出处。文献综述中要有自己的观点和见解,要鼓励学生多发现问题,多提出问题,并且指出分析解决问题的可能途径。毕业论文的文献综述主要是为自己进行设计的,提供文献方面的帮助和指导。所以只要自己所做题目的相关文献找准找全,然后对这些文献中的观点,方法,原理,材料进行归纳和总结,形成文字就可以了。

一篇好的文献综述要有完整的文献资料,有评论分析,并且能够准确地反映出主体内容。部分主要是说明写作的目的,介绍有关的概念及定义以及综述的范围,扼要地说明有关主题的现状或者是争论焦点。使读者对于全文技术的问题有一个初步的轮廓。游戏部分是综述的主体内容,其写法多样,没有固定的格式,可以按照您的顺序来进行综述,也可以按不同的问题进行综述,还可以按照不同的观点进行比较。综述,不管用哪一种格式综述,都要将搜集到的文献资料归纳整理以及比较分析。

篇11:java开发英文简历

yjbys

Male 22 years old

Education: college

Working lives: fresh graduates

Expected salary: 1000- yuan

Working location: guangzhou - tianhe

Objective: the Java software development engineer

Strong learning ability The good faith integrity a strong sense of responsibility Composed inside collect With entrepreneurial experience

Working experience (1 year, made a job)

The school to the workshop

Working hours: between January and January 2015 in [1]

Job title: development work content: between the maintenance optimization of the website

Education experience

Graduated in June Guangzhou institute of technology of profession of large mobile development

Self description

With a little calm composure Composed of a little sharp

篇12:java开发英文简历

yjbys

Male 22 years old

Education: college

Working years: 1 to 2 years

Expected salary: negotiable

Working location: guangzhou - there is no limit

Objective: the Java software development engineer

Work experience (work for 10 months, 1 year for 1 job)

Modern science and technology co., LTD. Wuhan wisdom

Working hours: between January 2015 and November [1 years 10 months]

Job title: Java development engineer

Working content: mainly engaged in the development of Java project. Specific work: be responsible for the realization of the system function, system bug modification, the system test.

Achievements: regularly completed the company's mission, and could improve the level of self! Analysis of demand more skilled!

Education experience

Graduated in June 2015 Liuzhou in guangxi university of science and technology mechanical and electrical integration

Professional skills

Java: skilled experience: 2 years


更多相关文章推荐阅读:

篇13:java开发简历

java开发简历模板

在个人简历中逻辑的起点就在于:你所应聘的求职意向与简历的描述内容关系度。例如求职者求职的职位是财政方面的职位,在简历所描写的内容中却并不是相关财政方面,如教育背景中的专业与求职意向不符合、工作经历的内容与求职意向不符合等等,这就非常不符合逻辑了。在编写个人简历的原则上一直强调要真实不能参加,招聘官从简历中的信息逻辑性就能够判断简历是否真实。

简历中的相关信息描写要与求职者的身份符合,比如说,应届毕业生说自己有五年以上的工作经验、职业技术类人才说自己参加某项科研项目等等,这明显就不符合逻辑。一般来说在编写个人简历各个项目时采用“金字塔式”或者“倒金字塔式”,按照与求职意向的关联度,或者是重要程度的顺序来写。例如在教育背景中通常采用倒序的方式,将自己最高学历教育放在第一位,还有特长方面采用循序渐进的表达方式,将重点放在最后。不管采用哪种排版都要讲究逻辑顺序,没有逻辑可言的简历其可读性也非常低。

下面是yjbys小编和大家分享的java开发简历模板,更多内容请关注简历模板栏目。

个人信息

yjbys

目前所在:广州年 龄:23

户口所在:广西国 籍:中国

婚姻状况:未婚民 族:汉族

培训认证:未参加 身 高:160 cm

诚信徽章:未申请 体 重:45 kg

人才测评:未测评

我的特长:

求职意向

人才类型:普通求职

应聘职位:软件工程师:JAVA软件工程师

工作年限:2职 称:中级

求职类型:全职可到职日期:随时

月薪要求:3500--5000希望工作地区:广州,,

工作经历

广州东方标准信息科技有限公司 起止年月:-03 ~ -06

公司性质:民营企业 所属行业:计算机/互联网/通信/电子

担任职位:java程序员

工作描述:1.参与需求的挖掘;

2.负责java程序开发, 测试,维护;

3.带领实习生进行项目开发,并协助其攻克技术难点;

4.重构“广东远程职业培训网”。

离职原因:

志愿者经历

教育背景

毕业院校:广西职业技术学院

最高学历:大专 获得学位: 毕业日期:2008-07

专 业 一:计算机专 业 二:

起始年月终止年月学校(机构)所学专业获得证书证书编号

-112008-02新东方IT培训学校JAVA软件工程师--

语言能力

外语:英语 一般粤语水平:一般

其它外语能力:

国语水平:优秀

工作能力及其他专长

1.具有面向对象思想,扎实的编程功底以及良好的编码习惯;

2.熟练应用Struts+Hibernate,SSH2框架和MVC三层架构开发模式;

3.熟练Oracle数据库的操作,能够编写存储过程,熟悉Mysql和SqlServer数据库;

4.熟练Tomcat服务器的部署及应用;

5.熟悉版本管理器SVN;

6.熟练使用Jsp,HTML,JavaScript,Jquery,Ajax,Css等WEB客户端技术;

7.了解设计模式,代码重构和项目过程管理,能够编写文档。

项目经验

2010/3--2010/6:综合管理系统

软件环境:TOMCAT6.0+ MYSQL

硬件环境:windows

开发工具:MYECLIPSE5.1

项目描述:项目团队: 开发人员4人

开发语言:JAVA

SCM工具:SVN版本管理器

项目技术:STRUTS 2+SPRING+HIBERNATE3.0、LOG4J、JQUERY、AJAX

软件描述:“综合管理系统”专门针对社会各类培训学校、培训中心而开发的一套综合性管理软件,对学校的日常事物进行记录,提高学校管理的工作效率。主要有“权限管理”,“历史记录”,“教务管理”,“学员管理”,“教学管理”,“财务管理”等模块。

责任描述: 1.带领实习生进行项目开发,从需求挖掘到程序开发;

2.协助实习生攻克技术难点;

3.负责“教务管理”,“学员管理”模块的开发;

/12--2010/2: 创业测评系统

软件环境:TOMCAT6.0+ ORACLE10g

硬件环境:windows

开发工具:MYECLIPSE5.1

项目描述:项目团队: 开发人员4人,经理1人

开发语言:JAVA

SCM工具:SVN版本管理器

项目技术:STRUTS+HIBERNATE3.0、JQUERY、AJAX

软件描述:“创业测评系统”是省劳动保障厅主办项目“广东远程职业培训网”的一个子项目;以“广东远程职业培训网”的'用户为用户,主要实现“测试”,“统计”,“行业方向管理”,“题库管理”,“测评报告管理”功能。

责任描述:负责“统计”,“题库管理”模块的程序开发;

1.“统计”中“自定义”统计功能以存储过程方式实现;

2.以树形菜单显示题目种类。

2009/2--2010/6:广东远程职业培训网

软件环境:TOMCAT6.0+ ORACLE10g

硬件环境:windows

开发工具:MYECLIPSE5.1

项目描述:项目团队: 开发人员6人,经理1人

开发语言:JAVA

SCM工具:SVN版本管理器

项目技术:STRUTS+HIBERNATE3.0、IBATIS、JSP、JAVASCRIPT、JQUERY、AJAX

项目描述:“广东远程职业培训网”是省劳动保障厅主办项目,是一项长期项目;主要有以下功能:

1.“后台管理系统”,用于管理学员信息,课件信息,三级权限分配,对各地市级的学员进行统计等;

2.“学习的平台”与FLASH进行交互,播放flash课件,提供给学员学习课程;

3.“CMS新闻发布系统”丰富页面内容。

网站地址:

我的任务:

负责“学员管理”,“课件管理”模块的程序开发;重构“统计”、“注册”模块。

1.“学员管理”实现增删改查,导入导出等功能。

2.以树形结构显示课件信息,并实现增删改查,停用启用功能。

3.重构“注册”功能,采用jquery.validator插件进行校验,ajax异步获取数据。

责任描述: 负责“学员管理”,“课件管理”模块的程序开发;重构“统计”、“注册”模块。

自我评价

我身体健康,性格随和,五官端正,不怕苦不怕累。两年多的程序员生活锻炼了我坚强的意志,缜密的思维,以及强的抗压性;我做事有耐心,并且乐于学习新知识,更注重巩固旧知识。作为一名程序员,更重要的品质就是要懂得团队合作,而我恰好拥有团队合作精神,对工作认真负责。

篇14:JAVA开发个人简历

民 族: 汉族 出生年月: 1983年12月5日

证件号码: 婚姻状况: 未婚

身 高: 168cm 体 重: 55kg

户 籍: 广东湛江 现所在地: 广东湛江

毕业学校: 广东广播电视大学(全日制) 学 历: 专科

专业名称: 计算机应用(信息管理) 毕业年份:

工作年限: 五年以上 职 称:

求职意向

职位性质: 全 职

职位类别: 计算机/网络

职位名称: JAVA开发 ; Android开发 ; 软件工程

工作地区: 湛江市 ;

待遇要求: 可面议 ; 不需要提供住房

到职时间: 三天内

技能专长

语言能力: 英语 一般 ; 普通话 标准

计算机能力: 精通 ;

综合技能: 办公软件的使用

网络搭建、网络设施安装、配置与维护

电脑配置、软硬件的安装与维护

服务器配置、安装和维护

Struts2,Hibername,Spring开源框架/系统

HTML、JavaScript、jquery、jsp/Servlet等WEB页面开发技术

Sqlserver、mysql等关系类型数据库

了解Android软件开发

Myeclipse开发工具

教育培训

教育经历: 时间 所在学校 学历

9月 - 207月 广东广播电视大学(全日制) 专科

9月 - 206月 湛江市遂溪县城月中学 高中

培训经历: 时间 培训机构 证书

工作经历

所在公司: 广州太盈信息科技有限公司

时间范围: 9月 - 3月

公司性质: 私营企业

所属行业: 计算机/互联网/通信/电子

担任职位: JAVA工程师

工作描述: 维护JAVA语言开发的项目,修改项目和为项目开发新功能

离职原因:

所在公司: 广东协联科贸发展有限公司

时间范围: 12月 - 201月

公司性质: 私营企业

所属行业: 计算机/互联网/通信/电子

担任职位: 网络管理

工作描述: 局域网搭建,网络设施安装、配置与网络安全维护,服务器的安装、管理和维护,数据备份,电脑软硬件的安装、维护,办公设备的安装、使用与维护 , 企业网站维护。

自我评价: 有良的团队合作精神和创新思维,责任心强,目标明确,力求上进

有较强的纪律观,时间观念强,能迅速的适应各种环境,有良好的生活习惯

有较强的组织能力、稳重、脚踏实地、能吃苦耐劳、勇于迎接新挑战

篇15:java开发自我介绍

Good morning !

It is really my honor to have this opportunity for a interview, I hope i can make a good performance today. I'm confident that I cansucceed.

Now i will introduce myself briefly

I am 24 years old,born in Jiangxi province .

I was graduated from University of Science and Technology of China university. my major is Software Engineer.and I will get my master degree after my graduation in the year of . I spend most of my time on study,i have passed CET4 . and i have acquired basic knowledge of my major during my school time.

In July , I begin work for ...as a java engineer in suzhou city.Because I'm capable of more responsibilities, so I decided to change my job.

Because I want to change my working environment, I'd like to find a job which is more challenging.

Morover ** is a global company, so I feel I can gain the most from working in this kind of company ennvironment. That is the reason why I come here to compete for this position.

I think I'm a good team player and I'm a person of great honesty to others. Also I am able to work under great pressure.

That’s all. Thank you for giving me the chance

I am Zhang **, I graduated from Wuhan technology and engineer university in June,2009.my specialized field is computer technology and science and my major course is software engineering. Before graduation ,I passed the interview of Isoftstone company in April, 2009.and on may 1st,2009, I won the duty as a java software engineer and worked in Wuxi.After three months,I passed the assessment of the company and I was arranged into the shanghai branch of the company.

篇16:java开发自我介绍

我叫xx, 您可能会联想起琼瑶小说, 字的确就是那两个字, 差别就是人没有那么漂亮, 呵呵。其实, 我的同学更都喜欢称呼我的英文名字, 叫June, 六月的意思, 是君的谐音。(点评: 寥寥数语, 让面试官轻松地记住了申请人的名字。)

我来自xx市, 可能您没有去过, 是一个很小的县级市, 这几年刚刚开发了温泉业, 我想将来会有更多的人了解这个小城市。(点评: 提到温泉, 面试官对恩平这个陌生的地方一定会产生一点亲切感。)

在20xx年我以恩平市全市第一名的成绩考上了中山大学, 学的是计算机科学专业。 不过, 在中大, 我没法再像高中一样总是名列前茅了, 到目前为止, 我的综合学分排名是40%左右。在专业课程方面, 我C++的编程能力比较强, 一年以前就开始自学Java, 在班级里是最早开始学Java的。(点评: 诚实可信地阐述了自己的学习能力。)

我参与过我们老师领导的一个项目, 叫做聊天室, 我负责开发了其中的及时通信系统的编写。在我们班, 老师只挑选了我一个女生参与这个项目, 主要是我写程序的效率比较高, 态度也非常认真。(点评: 如果你的编程能力不如男生强, 至少你要告诉面试官, 我比多数女生要强。如果贵公司考虑选择一名女生, 那么, 选择我吧!)

除了学习和项目实习以外, 我在学生会工作了两年, 第一年做干事, 第二年被提升为秘书长。大家对我的评价是考虑问题很周全, 令人放心。(点评: 稳重周全, 是做技术支持工程师的一个完美形象。)

在我的求职清单上, IBM是我的首选单位, 原因和您面试过的很多同学都一样, 出于对大品牌的信赖。毕竟, 大品牌公司意味着很多我们需要的东西, 比如培训和薪资, 能和优秀的高素质的人在一起工作等等。(点评: 对于IBM这种一流的企业, 没有必要过多地解释自己为什么想来应聘, 点到为止。)

技术支持工程师也刚好是我的首选职位, 因为我有技术背景, 也有作为女性和和客户沟通的天然优势。还有, 我不担心频繁出差, 因为我身体素质很好, 我已经坚持晨跑两年多了。在IBM专业技术方面, 我信赖公司的培训体系和我自己的快速学习能力!希望能有机会加入IBM团队!

java工程师面试技巧

1、注意着装。

着装要基于人自身的阅历修养、审美情趣、身材特点,根据不同的时间、场合、目的等,力所能及地对所穿的服装进行精心的选择、搭配和组合。虽说人不可貌相,但求职面试的场合,应试者当天的穿着打扮对能否被录取,有着举足轻重的影响。

2、语气平和,语调恰当,音量适中。

面试时要注意语言、语调、语气的正确运用。打招呼时宜用上语调,加重语气并带拖音,以引起对方的注意。自我介绍时,最好多用平缓的陈述语气,不宜使用感叹语气或祈使句。声音过大令人厌烦,声音过小则难以听清。音量的大小要根据面试现场情况而定。两人面谈且距离较近时声音不宜过大,群体面试而且场地开阔时声音不宜过小,以每个用人单位都能听清你的讲话为原则。

3、语言要含蓄、机智、幽默。

说话时除了表达清晰以外,适当的时候可以插进幽默的语言,使谈话增加轻松愉快的气氛,也会展示自己的优越气质和从容风度。尤其是当遇到难以回答的问题时,机智幽默地语言会显示自己的聪明智慧,有助于化险为夷,并给人以良好的印象。

4、注意面试官的反应。

求职面试不同于演讲,而是更接近于一般的交谈。交谈中,应随时注意听者的反应。比如,听者心不在焉,可能表示他对自己这段话没有兴趣,你得设法转移话题;侧耳倾听,可能说明由于自己音量过小使对方难于听清;皱眉、摆头可能表示自己言语有不当之处。根据对方的这些反应,就要适时地调整自己的语言、语调、语气、音量、修辞,包括陈述内容。这样才能取得良好的面试效果。

java述职报告范文

java实训的总结

Java技术简历

java实训心得体会感想

java简历表格

java毕业实习报告

java软件工程简历

java培训实习报告

暑期关于学习java实习报告

java实训报告

Java开发毕业论文参考文献
《Java开发毕业论文参考文献.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【Java开发毕业论文参考文献(共16篇)】相关文章:

java教学总结2022-12-01

JSP实习报告2022-10-09

计算机系统分析员论文-企业人事信息系统的应用2023-05-05

java游戏开发就业前景2024-01-08

java软件工程师自我评价2022-09-18

安卓论文总结报告2022-04-30

Java实习工作总结2023-03-01

java的实习报告2023-07-31

高中学历java简历范文2023-07-17

java个人学习总结22022-04-30