首页 > 精品范文库 > 14号文库
Java EE实验报告
编辑:风起云涌 识别码:23-441791 14号文库 发布时间: 2023-05-01 10:15:20 来源:网络

第一篇:Java EE实验报告

学 生 实 验 报 告

课程名称:

学生学号:

所属院部:

(理工类)

J2EE程序设计 专业班级:

学生姓名:

信息技术学院 指导教师: 13 ——20 14 学年 第 2 学期

金陵科技学院教务处制 实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:Java编程基础 实验学时: 4 同组学生姓名: ———— 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

一、实验目的和要求

(1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序的方法;

(2)熟练掌握Java常用工具类的使用;(3)熟练掌握Java集合框架编程;

(4)调试程序要记录调试过程中出现的问题及解决办法;

(5)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(6)做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔4以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。

三、实验内容及过程

(1)设计一个类Student,类的属性有:姓名,学号,出生日期,性别,所在系等。并生成学生类对象数组,按照学生的姓名将学生排序输出。(注意:使用String类的compareTo方法)

(2)使用日历类等相关方法,按截图做出一个日历。参照书本示例,研究其中代码,回顾与复习利用Java Swing编程。

(3)将本学期开设的课程名称加入到HashSet中,并使用迭代器遍历输出。

(4)完成以下实验:(1)定义一个学生类:属性有学号、姓名、专业、高数成绩、外语成绩、Java课程成绩。(2)在测试类中生成多个学生类的对象,放入TreeSet中,要求按照三门课总成绩从高到低排序,总成绩相等按学号排序输出排序结果。(注意:实现Comparator接口的compare(Object obj1,Object obj2)函数)

(5)以List接口对象(ArrayList)为基础建立一个通讯录,要求通讯录中必须含有编号、姓名,性别、电话、地址、Email等等。实现该类并包含添加、删除、修改、按姓名查等几个方法。编写主程序测试。

要求:

(1)编译调试程序之前应配置好环境变量;

(2)要掌握用JDK命令行和Eclipse集成开发环境调试Java程序;(3)熟练掌握Java常用工具类和集合框架的使用;

程序清单:

(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)

(实验一程序清单续1)

(实验一程序清单续2)

四、实验结果与分析

实验项目名称: JSP编程基础 实验学时: 6 同组学生姓名: ———— 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

一、实验目的和要求

(1)熟练掌握JDOM对XML编程的使用;(2)熟练掌握HTML编程基础;

(3)熟练掌握JSP环境配置以及编程基础;(4)熟练掌握JavaBean编程;

(5)调试程序要记录调试过程中出现的问题及解决办法;

(6)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(7)做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔4以上计算机,Windows 操作系统,装有JDK1.7,Tomcat6.0和Eclipse软件。

三、实验内容及过程

(1)通过JDOM技术实现对以下XML文件的操作:

 显示整个XML文件内容

 显示第二个客户节点内容

 增加一个节点:如

<客户 性别=“男”> <姓名>张三

<电子邮件>Zhangsan@magicactor.com

 删除客户名称为张三的节点

 修改客户名称为张三的节点的电子邮件为Zhangsan@126.com

(2)使用HTML与JavaScript完成一个简单的四则运算,界面功能如下:

(3)使用JSP与JavaBean实现一个简易计算器.注意:仿照(2)HTML代码编写网页,使用request对象接收值,在JavaBean中计算,JSP页面调用该JavaBean,实现数字计算。

(4)使用application内置对象实现一个简易的网站计数器,界面如教材P288图15.7所示。

(5)使用session内置对象实现一个简易的购物车功能。利用session保存用户选购的商品信息,本购物车程序至少包含两个页面:显示商品页面showbooks.jsp;显示购物车页面showcarts.jsp。

要求:

(1)学会配置JSP编程环境;

(2)学会使用Eclipse的各种调试方法;(3)熟练掌握JSP的编程基础。

程序清单:

(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)

(实验二程序清单续1)

(实验二程序清单续2)

四、实验结果与分析

实验项目名称: Servlet与JSP综合编程 实验学时: 6 同组学生姓名: ———— 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

一、实验目的和要求

(1)熟练掌握JDBC数据库编程的使用;(2)熟练掌握Servlet编程基础;(3)熟练掌握JSP综合编程;

(4)调试程序要记录调试过程中出现的问题及解决办法;

(5)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(6)做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔4以上计算机,Windows 操作系统,装有JDK1.7,MySQL,Tomcat6和Eclipse软件。

三、实验内容及过程

(1)在数据库中建立一个表,表名为学生,其结构为:学号、姓名、性别、年龄、成绩。编程实现以下功能:

   编写方法向学生表中增加记录;

编写方法将每条记录按成绩由大到小的顺序显示到界面; 编写方法删除成绩不及格的学生记录。

(2)使用JSP与JavaBean实现用户登录功能,要求实现以下功能:

   创建数据库MyDB,创建一个表Users(用户名、密码),用户日志表userLog; 创建一个JavaBean;UserDao主要包含两个函数:验证函数、日志函数; 创建登录页面JSP页面(login.jsp),构建表单Form,使用Servlet实现验证码功能。当用户输入提交后,调用JavaBean验证其合法性,如果验证不通过导向登录页面,验证通过导向欢迎页面。不管是否通过验证都应该向userLog表中添加成功登录或失败登录信息。;  创建成功页面JSP页面(success.jsp)。

(3)使用JSP、Servlet以及JavaBean实现MVC架构计算圆面积,要求实现以下功能:

   编写JSP页面View; 编写JavaBean实现业务逻辑;

编写一个Servlet,从JSP界面接收用户输入的半径,调用JavaBean实现圆面积计算;  在web.xml文件中配置Servlet的Mapping URL。

(4)参考书本上关于Filter的描述,编写一个用于用户认证的过滤器。如果管理员即后台所有页面都有“/admin”,如管理员登陆页面http://localhost:8088/admin/login.jsp,要求拦截/admin的页面进行认证(登陆界面除外),如果用户没有认证则跳转到登陆页面。要求:

(1)学会配置JDBC编程环境;(2)学会使用Eclipse的各种调试方法;

(3)熟练掌握JSP、JavaBean与Servlet综合编程的使用。

程序清单:

(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)

(实验三程序清单续1)

(实验三程序清单续2)

(实验三程序清单续3)

四、实验结果与分析

实验项目名称: SSH框架编程 实验学时: 8 同组学生姓名: ———— 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

一、实验目的和要求

(1)熟练掌握Hibernate框架编程技术;(2)熟练掌握Struts2框架编程技术;(3)熟练掌握Spring框架编程技术;(4)熟练掌握以上三种框架综合编程技术;

(5)调试程序要记录调试过程中出现的问题及解决办法;

(6)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(7)做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔4以上计算机,Windows 操作系统,装有JDK1.7,MySQL,Tomcat6和Eclipse软件。

三、实验内容及过程

(1)使用Hibernate将顾客表中的内容输出到JSP页面中,要求实现以下功能:

 将如下的数据库脚本在MySQL中执行,数据库为MyDB; create table customers(customerid char(8)primary key, name char(40)default null, phone char(16)default null); 在项目中加入Hibernate支持并生成映射文件,映射类以及HibernateSessionFactory类。再创建一个Dao类读取顾客表中所有记录返回集合List;  编写JSP文件。使用JSTL标签输出,如教材P291图15.13所示。

(2)使用Hibernate对多表进行关联操作。对数据库脚本中的职工表与部门表进行级联操作。要求实现以下功能:   可以根据部门编号查询部门及其查询该部门下的所有职工信息;

删除部门时级联删除部门下的所有职工。考虑当删除部门时不想删除该部门的职工而只将职工中的部门编号置为空,应该怎么设置。

(3)使用Struts2实现以下用户登陆功能:

 完成一个用户登录,用户名以及密码为必填项。使用 Action中的validate函数进行验证。体会Struts2基本流程;  当用户输入的用户名不是 admin或密码不是 12345时要求用户重新登录,并给出错误提示。当用户填写正确时,导向一个成功页面显示用户登录成功;  结合使用Hibernate将用户信息保存到数据库中;  利用Struts标签 bean 以及logic标签,将数据库中的表Customer中的内容输出,在页面中输出成表格,使用Hibernate读写数据库。

(4)Struts国际化试验,改造上述实验。当用户名或密码未输入,在中文环境下显示中文,在英文环境下显示英文错误信息。注意:编写两个资源文件。

(5)编写图形接口Shape,该接口中有抽象函数计算面积double area();编写圆类Circle与矩形类Rectange实现该接口。再编写一个ShapeDao类,将Shape接口作为其属性。通过Spring配置JavaBean,实现Bean的动态注入。即只需改变注入的Bean就可以计算不同图形的面积。

(6)完成网上成绩录入系统综合实验。实验要求读取数据库中学生表、课程表和选课表中的内容,动态形成表单;教师可以登陆系统录入学生成绩。其中总评成绩=平时成绩*30% +期末成绩*70%,各项成绩为百分制。 教师登陆界面;

图14.16 教师登陆界面参考

 登陆成功后选择所要录入的课程;

图14.17 教师选择课程界面参考

 录入成绩界面;

图14.18 教师录入成绩界面参考  点击“保存成绩”,则向数据库中写入输入的成绩。要求:

(1)学会SSH框架编程环境;

(2)学会使用Eclipse的各种调试方法;

(3)熟练掌握Hibernate、Struts与Spring综合编程的使用。

程序清单:

(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)

(实验四程序清单续1)

(实验四程序清单续2)

四、实验结果与分析

第二篇:JavaEE学习方法总结

JavaEE学习方法总结

学习JavaEE已经有一段时间了,自以为对JavaEE也是有一点认识和理解的。如果有菜鸟也想学习JavaEE的话,那么,下面推荐一下我的学习步骤(仅代表我个人):

一、掌握Java的基本语法

如Logic Java、Java OOP等,精通面向对象的思想:封装、继承和多态,以及后面学的接口。其中封装和继承稍微简单一点,多态比较难一点;但能不能理解好多态,又是能不能理解面向对象思想的重要一步;而接口,学习起来并不难,难就难在如何运用好,在这里,教大家一个理解接口的简单方法:接口其实就是一种规范。

二、系统的学习一下数据库

数据库中的内容比较多,像数据库中的五大范式、数据仓库、数据挖掘等这些很专业的知识,我们没必要掌握;而数据库中的SQL语句则是一定要精通的,这对以后的学习很有帮助。对于有些常会出错的,一定要注意,比如Select语句中where后面多个条件的连接用的是and而不是逗号;Insert语句中Values后接的是(),括号中的值用逗号隔开;Update语句后面一定要有关键字Set;Delect删除记录时,一定要记得加where条件;聚合函数Count后面要加(*)或者你取的数据库表的别名。个人建议:最好能熟练运用SQLServer、DB2、MySQL、Oracle中的一个或几个。

三、灵活运用JSP、Servlet、JavaBean 掌握最基本的JSP代码、JSP指令(page、include、taglib指令)、JSP动作、Servlet和一些XML配置文件方面的知识,JSP比起以后要学的Struts而言,难度要小很多,但是光看书是不够的,一定要多做一些小项目。推荐大家按照书上的例子做一些小的网站,最好采用JSP + Servlet + JavaBean的设计模式,这样可以为以后学习MVC打下基础。

四、透彻的理解MVC编程思想

关于书上经典的案例一定要会做,代码可以记不住,但MVC的编程思想一定要理解好并能够灵活的运用。虽然,MVC并不能算是一种技术,但我个人觉得它太过于重要了,所以依然把它单独列为一个阶段,可见其重要。如果这个理解不了,JavaEE以后就真的没法学了。

五、精通Struts框架

学习Struts,要认真琢磨它的运行原理和执行流程,特别是ActionForm、Action组件的作用和Struts-config.xml这个核心配置文件每一处用到的配置。学到这一步,才算是真正接触了JavaEE,以前学的东西都不过是为SSH这三大框架的学习做好铺垫。当然,这个时候就要用到J2EE的开发工具了,个人推荐eclipse或者MyEclipse,其实MyEclipse也就是饿clipse的豪华版,一个收费,一个不收费。此外,还要熟悉Struts标签,掌握自定义标签是如何使用的。但这个时候千万不要追求大而全,只学习几种常用的标签就可以了,重点放在bean和logic标签上,Struts的html标签和普通的html标签没什么区别,所以……你懂的。还有,要准确的理解:Action、ActionForm、biz、dao这几个层之间的关系。其实本质还是MVC的设计模式。Action作为控制器的作用:响应用户请求,调用后台逻辑,跳转其他页面。多思考一下,多问自己几个为什么。譬如Struts框架既然是一个半成品,那我们使用它的好处是什么,它是如何响应客户端请求的,我们又是如何扩展和配置的等等。最后,在学习一下Struts2,Struts2虽然和Struts1在名称上很相像,但二者有本质上的区别:Struts2是在另一个著名框架WebWork基础上发展而来。

六、了解Hibernate和Spring框架

现在Hibernate和Spring也是相当流行的。Hibernate使用时只需要操纵对象,使开发更对象化,抛弃了数据库中的思想,完全的面向对象思想。但它在只针对某一对象(单个对象)简单的查改删增比较实用,批量修改、删除则不是它的强项。Spring是一个非侵入性的轻量级框架,允许在应用系统中自由地选择和组装Spring的各功能模块,并且不强制要求应用中的类必须从Spring 的系统API中的某个类来继承或者实现某个接口。同时也提供和其它框架集成的接口,如与Hibernate、Struts 的集成等,便于应用开发。

七、推荐学习使用的软件(都是我用过的,没用的暂时忽略)

1.Web容器:TomCat 7.0、TomCat 6.0。个人感觉没什么区别,还有,改端口号是在tomcat的conf文件下server.xml配置文件中。2.开发工具:MyEclipse 9.0、Eclipse 3.2。注意3.2版本是装不上Tomcat 7 的。

3.网页设计工具:Dreamweaver CS5、CS3。个人推荐用CS5,因为用CS3时,JavaScript代码不注意写错了,找都找不到,很头疼的;CS5带了纠错的功能,虽然还不能像Eclipse那样,不过已经很不错了。

4.数据库:SQL Server 2005/ 2000、Oracle 11g。Oracle 不怎么会用,学习中……

上面是我粗略地勾勒了一下学习JavaEE的曲线。归纳一下:学习Java是需要循序渐进、实例驱动、思考总结的。至于其他的,估计大家到工作以后在慢慢琢磨,不过学这东西,还要看大家的天赋和造化了,反正我是看的云里雾里的,头都大了。这里面涉及的知识点都很多,需要我们耐心细致地学习。大家在做项目的时候会发现各种各样的异常和问题。不要害怕,因为这些错误都是我们的好朋友,我们要把它们通通都记录下来,并坚韧地排除掉它们。这里要记住:尽量避免重复犯错,不要在同一个地方跌倒两次。总之,这个一个相对比较枯燥、耗时间和耗精力的阶段。我们要做的就是不断地参考,不断地思考,不断地总结,最好还能和志同道合的人不断地争论。记得我最疯狂的一次是一天都没出门,从早上7点起来开始敲代码,一直到凌晨1点,连吃饭都在寝室解决。其实当你真正进入代码的世界,你会将周围的一切都忘了。

最后,祝大家学的实用,学的开心!!

长孙冷雪

2011年8月6日

第三篇:javaEE个人心得体会范文

Java EE架构与程序设计大作业心得体会

大作业题目:

基于web的教务管理系统

学号:

姓名:

组别:

本次javaEE课程设计我们这组做的课题是基于web的教务管理系统,我们组将整个系统设计成基于SSH的教务管理系统,系统总共分为三个角色:学生、教师、管理员。整个系统我们小组成员在组长的带领下实现了:学生登陆该系统可以查看个人信息,查看可选课程,查询成绩,选课等操作。教师登陆该系统可以实现查看个人信息,查看选课情况,录入学生成绩等操作。管理员登陆该系统,可以实现修改学生或老师信息,增加学生或教师信息等操作。

通过这次课程设计,使我灵活应用所学javaEE知识,和小组成员一起完成问题分析,结合javaEE理论知识,编写程序实现系统所需功能。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法分析和解决问题的能力;并用系统的的观点进行系统设计,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的编程风格。进一步加深对SSH框架的知识的理解,并能够利用SSH框架的知识实现教务管理系统。同时在这学期的实验中,培养了以专业的眼光去对待我们系统中的每一段代码,这算是一次不可多得的实践机会。在这一次的实践过程中,不论是个人动手能力,还是团队合作能力,方方面面都得到了一定程度的提高。在这个过程中,我学会了很多学习的方法。而这是日后最实用

也是最宝贵的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。

这次实验我们根据组长分配的任务,在组长的带领下,我们小组成功实现了教务管理系统。在系统设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了宽容,学会了理解,也学会了做人与处世。课程设计是是一次模拟的社会实践,是我们迈向社会,从事职业工作前一个必不少的过程。实验过程中,也十分感谢张永定老师的指点与教导。这次课程设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强了自己实践能力。通过这次课程设计使我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。

第四篇:JavaEE学习顺序

JavaEE学习顺序

第一阶段:java基础

技术:

1.java语法 2.面向对象 3.常用的api 4.界面编程 5.多线程 6.文件io 7.java网络编程 视频:

张孝祥 或者马士兵java视频 书籍:

《java2核心技术一二卷》 《java编程思想》研读,精读 《java模式》

第二阶段:数据库

技术:

1.oracle——主要的 2.mysql 3.sql server 视频: 韩顺平oracle视频 书籍:Oracle使用教程

深入浅出Oracle 第三阶段:web开发

技术:

1.html 2.css 3.javascript 视频:

张孝祥 JavaScript视频 书籍:

张孝祥配套书籍《JavaScript网页开发》 别具光芒

孙鑫《HTML语言速成》

第四阶段:JavaEE中级

技术:

1.servet 2.jsp 3.mvc 服务器:tomcat、jboss、weblogic、websphere 视频:

韩顺平servlet—jsp视频 书籍: oreilly公司《jsp设计》《java servlet编程》

第五阶段:JavaEE高级

技术

1.struts 2.hibernate 3.spring 视频:

美河图书《Servlet与JSP核心编程》

张小静 Struts视频

孙卫琴《精通Struts基于MVC的Java.Web设计与开发》 李兴华 Hibernate视频

孙卫琴《精通Java对象持久化技术详解》

第六阶段:其他流行技术

技术:

Xml ajax(jquery,dw)Junit ant Ejb

Enterprise JavaBeans技术2.0

Java消息服务(JMS)1.0

Java命名目录接口(JNDI)1.2

Java事务API(JTA)1.0

JavaMail API 1.2

JavaBeans激活架构(JAF)1.0

J2EE连接器体系结构(JCA)1.0

Java认证和授权服务(JAAS)1.0

书籍: 《精通ejb》

常见的j2eeAPI:

JavaServer Pages(JSP)技术1.2

Java Servlet技术2.3

JDBC API 2.0

Java XML处理API(JAXP)1.1

Enterprise JavaBeans技术2.0

Java消息服务(JMS)1.0

Java命名目录接口(JNDI)1.2

Java事务API(JTA)1.0

JavaMail API 1.2

JavaBeans激活架构(JAF)1.0

J2EE连接器体系结构(JCA)1.0

Java认证和授权服务(JAAS)1.0

第五篇:JavaEE学习心得与总结

学习Java EE 心得体会

这学期通过对Java EE五部分的学习,掌握了java 的基本开发方法,学习JavaEE 基础部分分为6大部分,分别是基础服务,Java Web开发,Web Service,JSF框架,EJB部分和JPA。

其中第一部分是基础服务部分,此部分包括六章:第一章是概述,介绍了java EE 的发展历史,架构,组件,服务,容器等概念,并介绍了平台角色以及开发环境和应用服务的选择与安装。第二章讲了使用JNDI 访问明明和目录服务,介绍了什么是命名和服务目录,以及如何通过JNDI 访问Weblogic 提供的命名目录服务。

第三章 讲了使用JDBC 访问数据库,介绍了JDBC的基本用法以及连接池的配置和访问。第四章讲了使用JTA 进行事物处理,介绍了事物处理概念以及如何通过JTA进行事务处理。第五章 RMI :远程方法调用,介绍了RMI 的结构以及如何使用RMI进行编程。第六章,使用JMS接发消息,介绍了消息服务的概念,在Weblogic 中消息服务相关的配置以及如何通过JMS开发消息发送和接受程序。

J2EE是一种技术,旨在简化企业应用程序的设计和实施。在本教程中,您将学习J2EE是什么,它的好处,J2EE的主要组成部分,企业应用框架的演变,为什么要使用J2EE,J2EE平台架构,J2EE API和技术和J2EE参考实现。在继续之前,我们的J2EE讨论让定义企业应用程序是什么。企业应用程序是一个应用程序,它可能要继续使用他们,同时添加或迁移到一个新的利用互联网,电子商务等新技术的应用,集传统的现有应用程序和数据库。

Java EE 架构分为四层,客户端层,Web层,EJB层和数据库层,其中,数据库层为系统提供数据存储和数据库管理功能,在整个企业级应用中可能村爱很多个数据库,并且采用不同类型的数据库管理系统进行管理。EJB层也称为业务逻辑层,用于完成系统中复杂的或者共享的业务,这些功能主要是提供客户端层和Web层调用,用户不会直接调用该层。Web层是基于HTTP 的访问方式,客户通过Web层访问系统的业务逻辑和数据等。客户端层包括Applet客户端和Application客户端,客户通过客户端的形式访问系统的业务逻辑和数据等。逻辑中的四层可能不同时出现在系统中,例如某个系统可能只提供Web形式的客户端,并且不使用EJB技术,此时系统图只留下Web层和数据库层。

Java运行环境定义了五种类型的应用组件,包括客户端组件Application和Applet,Web层组件JSP和Servlet,EJB组件等,这些组件类型是Java EE 产品必须支持的。

其中的JPA是我学习的重点。JPA包括以下3方面的技术:(1).ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中.(2).JPA 的API,用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。(3).查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。JPA的优势包括:1 标准化,JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。2 对容器级特性的支持,JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。3 简单易用,集成方便,JPA的主要目标之一就是提供更加简单的编程模型:在JPA框架下创建实体和创建Java 类一样简单,没有任何的约束和限制,只需要使用 javax.persistence.Entity进行注释;JPA的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易的掌握。JPA基于非侵入式原则设计,因此可以很容易的和其它框架或者容器集成。4 可媲美JDBC的查询能力,JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。5 支持面向对象的高级特性,JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。

第二部分是Java Web 开发,其中第七章主要讲了Java Web应用概述,介绍Java Web的主要技术,发展历史,文档结构,并通过一个简单的例子介绍了Servlet和JSP的运行原理。第八章主要讲了JSP的基本语法,对JSP的基本语法,指令,动作,内部对象和如何在MyEclipse中开发进行了介绍。第九章主要讲了JavaServlet技术,介绍如何编写Servlet,如何使用Servlet与客户端进行交互以及Servlet过滤器和Servle监听器的使用。第十章主要讲EL,介绍EL的基本用法。其中的JSP是我学习的重点。JSP技术使用Java编成语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。

第三部分主要讲Web Service,本部分内容主要包括三章。第十三章主要讲Web Service概述没介绍了什么是Web Service以及相关概念,包括WSDL,SOAP和UDDI.第十四章主要讲Java EE 对Web Service的支持,包括JAXR,JAXB和SAAJ.第十五章主要是使用JAX-WS开发Web Service,介绍如何使用JAX-WS 编写WebService以及访问WebService的客户端,包括在MyEcilipse中的开发。Webservice 的概念是使用一个标准的输出接口来定义代码提供的功能,以便让外界可以通过这个标准的输出接口来调用,而所谓的标准输出接口就是wsdl,wsdl是一个xml组成的文件,描述了实现程序对外提供函数的原型,客户端可以通过wsdl来调用实现程序提供的服务代码。

第四部分主要讲了JSF 框架,内容包括五章。第十六章讲了JSF概述,介绍了JSF 的体系结构,JSF的组成和生命周期等。第十七章将了一个简单的JSF应用,介绍了在MyEclipse中如何开发JSF应用。第十八章主要讲了UI组件,介绍了JSF提供的界面控件。第十九章主要讲了在JSP中使用JSF,介绍了本地化,转换器,时间监听器,验证器和导航的使用。第二十章主要是Bean,介绍了辅助Bean的配置,访问和编写。

在这部分中我主要学习了怎样使用JSF编程,其过程主要包括以下几点:第一步,创建web工程J2ee下创建web project,这没什么说的了,不过以前在eclipse中总是不知道怎么创建web应用,够傻的,原来需要插件,在myeclipse提供了全套的插件。不过Myeclipse需要破解。中国程序员似乎很少用正版的。言归正传,Myeclipse中需要在Open Perspective中选择J2ee enterprse视图。然后创建web project。这跟delphi的New一个project不太一样,delphi把所有可以new的都放在一个窗口中,而eclipse有不同的视图来提供管理,这算一种进步吧,插件化的进步。接下来需要 Add JSF Capability,因为这个类库(不知道是否应该称为类库)支撑了JSF开发需要的组件。第二步,创建bean.在New-àother中的Myeclipse-àweb-JSF下有managed bean,创建bean可以连Java类文件一起创建,且可以将需要的属性一起完成,myeclipse可以自动完成属性的get,set方法。是个比较酷的功能。第三步,创建,编辑jsp文件.在工程的webroot-->web-inf下面有一个facesconfig.xml文件,这个文件是Javabean的管理文件,同时它管理了页面之间的切换关系,起到导航页面的作用。有趣的是这个文件居然有个漂亮的design界面,可以在上面创建新的jsp文件,且可以用拖拽方式定义页面之间的关系,让所有页面的关系看起来很直观。感觉这里是个很酷的设计。页面的导航是根据一个字符串来作为判断依据的,所以在配置导航关系时,只要设定From outcome的值为调用bean方法的返回值即可。值得注意的是,JSF对于导航值只允许string类型。Jsp页面的编写其实很方便,即使不太懂,因为myeclipse提供了拖拽式的页面设计,如果熟练直接写代码也很好玩吧。我以前一直很讨厌html的代码,因为觉得太机械了,且不好记忆,这会得硬着头皮学了,不过在这种拖拽式的设计中可以省不少力气。记得jsp中使用Java采用””的方式,这会是:”#{}” 直接以bean来调用。第四步,本地化.如果需要考虑国际化的问题,那么需要创建一个.properties的文件,否则可以跳过这里。.properties文件需要创建到源码文件的目录下,否则在指定位置时便会找不到它。.properties文件的配置非常简单,如同一个ini文件。如:“username=user name”, 如果要显示中文的话,这里需要转化为unicode,jdk带了一个native2ascii的小工具可以轻松转换,不过这个玩意每次复制的时候都要先将编辑设为“标记”。不知道有没有更方便的工具。另外如果要支持中文的.properties文件需要以_zh_CN结尾才行。在jsp文件中使用下面形式定义:然后就如同Java中的类一样使用了.第五部分主要是EJB部分,内容包括四章,地二十一章介绍了EJB 的目标,发展历史,特点,角色,分类以及变成规约。第二十二章主要对会话Bean的开发以及运行原理进行了介绍。第二十三章介绍了消息驱动Bean以及客户端程序的编写。第二十四章讲解了如何访问数据源,定时服务和事务处理对象。其中EJB为学习的重点,EJB(Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。在J2EE里,Enterprise Java Beans(EJB)称为Java 企业柄,是Java的核心代码,分为整体柄和片段柄和消息柄三个部分,其中的消息柄将在以后再作讨论。EJB是sun的服务器端组件模型,最大的用处是部署。

Java EE实验报告
TOP