《J2EE架构与程序设计》课程的课后作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《J2EE架构与程序设计》课程的课后作业
1.1.1《J2EE架构与程序设计》课程的主要教学内容
1、前四周为JSP、Servlet、JavaBean、Filter、Listener等标准的J2EE Web组件技术
2、后四周为Struts框架技术及应用
1.1.2第一周课程(9月3---7日)的课后作业
1、在本机器中安装并配置出本次教学中的IDE工具开发环境(Eclipse 3.2 + MyEclipse5.2)插件环境。
2、在MyEclipse中创建出一个“软件学院学生管理系统”的Web应用项目
要求:
(1)设计本Web应用项目的首页index.jsp页面,页面的风格及色彩等自行决定
(2)在该Web系统中设计出至少包含实现学生用户登录和学生注册、学生信息修改功能的三个JSP页面;在页面中的表单中所包含的字段可以自行决定(最好与以后需要应用的数据库表中的各个字段保持匹配)。
(3)在首页中设计超链接到上面的各个二级页面中,导航条的风格可以自己决定。
(4)将该Web 系统部署到所应用的应用服务器中(最好为Tomcat,这样练习的速度可以快点!),然后在浏览器中进行浏览测试其效果。
3、作业提交的时间
本周的作业在(9月12日)上课时交给授课教师。
4、作业的内容
只需要提交src目录下的源程序及主要的*.xml配置文件,并将执行过程截屏拷贝到Word文档中以便能够观察项目的执行状态的结果正确与否。
并按照每个同学的学号和姓名作为文件名称。
5、作业收集的方式
各班的班长或者课程代表将本班的各个同学的作业收集并打包为*.zip或者*.rar文件交
给授课教师,并填写下面的提交记录。
1.1.3第二周课程(9月10---14日)的课后作业
1、请用Java程序示例说明什么是面向过程的程序设计方法、什么是面向对象的程序设计方法?
2、请定义出下面图中的“人”、“中国人”、“美国人”、“培训教师”、“学员”等类
目的:熟悉类的定义语法及成员定义,并注意类是有层次的
3、为前面的“人”问题中的类提供一个“工作”接口
(1)并在该“工作”接口中应该包含有如下的行为定义
1)沟通
2)职位升迁
3)完成任务指标
(2)并对该“工作”的接口加以具体的实现
4、请用Java程序示例说明什么是Java中的静态多态性和动态多态性?
5、作业提交的时间
本周的作业在(9月19日)上课时交给授课教师。
要求同前面的第一周作业。
1.1.4第三周课程(9月17---21日)的课后作业
1、请为“软件学院学生管理系统”中的“登陆”、“注册”和“修改”设计出对应的响应的后台的JSP页面,并在这些JSP页面中获得各个用户表单所提交的参数(但功能处理和对数据库的访问等目前可以暂时不需要考虑);并在浏览器中打印输出以进行响应的测试(以截图的方式记录并保存到Word文档中)
2、请为“软件学院学生管理系统”提供两种不同形式的错误显示页面
(1)系统运行中未被捕获的异常错误信息的显示页面
(2)在系统的web.xml中对Http协议中的“404”、“500”和“505”等类型的错误进行配置,并提供相应的错误信息显示的JSP页面。
3、请为“软件学院学生管理系统”中的“登陆”、“注册”和“修改”设计出对应的响应的后台的Servlet程序,并在Servlet中获得各个用户表单所提交的参数(但功能处理和对数据库的访问等目前可以暂时不需要考虑);并在浏览器中打印输出以进行响应的测试(以截图的方式记录并保存到Word文档中)。
4、思考
在第3题中你是采用一个Servlet组件还是分别为不同的功能响应提供不同的Servlet组件?为什么要如此设计?
对比第1题和第3题,您有什么技术实现方面的感想!
5、作业提交的时间
本周的作业在(9月26日)上课时交给授课教师。
要求同前面的作业相同。
1.1.5第四周课程(9月24---28日)的课后作业
1、请为“软件学院学生管理系统”中的“登陆”、“注册”和“修改”设计出对应的业务处理层组件并完成具体的功能实现。
2、请为“软件学院学生管理系统”中的“登陆”、“注册”和“修改”设计出对应的数据访问层中的DAO组件并完成具体的数据库访问的功能实现。
并在浏览器中以实际的数据库表中的数据进行登陆测试是否正确地访问了数据库系统中的数据(以截图的方式记录并保存到Word文档中)。
注意:
数据库表中的表结构和数据库的类型可以自行决定。
3、利用过滤器组件技术为系统添加用户身份验证的具体实现,只有成功地登陆系统的用户才能对其自己的信息进行修改。
否则提示其进行系统登陆。
4、作业提交的时间
本周的作业在(10月10日)上课时交给授课教师,要求同前面的作业相同。
1.1.6第五周课程(10月8---12日)的课后作业
1、请将“软件学院学生管理系统”重构(Refact)为基于Struts框架实现的Web系统,原始系统的功能“登陆”、“注册”和“修改”等不改变(继续保留)。
2、请利用所学习的Web监听技术,在基于Struts框架实现的“软件学院学生管理系统”中的首页提供统计当前“在线用户数”的功能。
3、请利用所学习的Web监听技术,请为基于Struts框架实现的“软件学院学生管理系统”提供一个在每天凌晨自动地完成后台某种功能的计划任务调度的功能(具体实现什么方面的功能,可以自行设计和决定)
4、作业提交的时间
本周的作业在(10月17日)上课时交给授课教师。
要求同前面的作业相同。
以截图的方式记录并保存到Word文档中。
1.1.7第六周课程(10月15---19日)的课后作业
请在基于Struts的“软件学院学生管理系统”系统中实现下面的重构(Refact)行为:1、将项目的struts-config.xml分为多个不同的XML文件,具体的数目可以自己根据项目中的模块来决定。
2、将系统中的部分页面设计为采用“Struts中的国际化技术”
3、解决系统中的“中文乱码”问题
4、对系统中的功能扩展时采用“Struts插件技术”来实现,具体完成什么功能,自己可以根据系统的需要来灵活地决定。
5、作业提交的时间
本周的作业在(10月24日)上课时交给授课教师。
要求同前面的作业相同。
以截图的方式记录并保存到Word文档中。
1.1.8课程结束后的大作业
利用Struts框架技术设计和实现一个交通大学软件学院学生课程选课的Web应用系统。
1、具体的应用功能要求如下:
1)应该提供对选课的学生进行基本的管理功能:包括注册、登陆、修改和在线注销等
方面的功能
2)应该提供对课程进行选课、查询课程信息、统计所选择的课程的总学分等基本功能
3)对部分的功能模块中的数据应该采用XML文件的形式作为持久化的载体,并利用
Java中的XML解析技术进行读/写该XML文件中的数据
4)对部分的功能模块中的页面采用XML+XSLT的方式代替JSP页面进行显示
5)利用过滤器组件技术实现系统的安全身份验证
2、数据库系统
(1)选择每个学员自己所熟悉的某种数据库系统,可以为access、SQLServer2000、Oracl9i、mySQL或者其它。
并且各自在该数据库中创建出项目中的各个数据库表和表结构。
(2)必须使用数据库连接池和数据源来连接数据库(可以为应用服务器系统中所提供的或者是第三方如Apache DBCP等)。
3、前后台开发工具的使用
后台开发工具可以利用JBuilder或者Eclipse工具(或者其它如NetBeans、IDEA等)、前台表示层的设计工具为Macromedia Dreamweaver,以提高开发的速度。
4、开发平台中的应用服务器
可以选择为Tomcat或者JBoss或者Weblogic不限,可以根据自己的熟悉来选择。
5、分组要求
最好是每个人能够独立地完成该任务,或者最多两个人为一组(目的是自己能够独立实现,获得锻炼的机会---不追求功能的完美和具体技术的实现细节,但必须人人参与)。
6、提交物
(1)运行程序所需要的所有文件(页面文件、源代码、数据库文件以及其它的配置文件)。
(2)本项目的Readme文件以及系统的主要功能操作的说明书(可以将运行过程中代表系统的主要功能实现的页面,进行屏幕拷贝截图放到Word 文档中以便进行功能检查)。
1.1.9教学过程中的课堂提问的问题汇总
1、J2EE的含义是什么?
2、三层构架中一般有哪三层?
3、Java和在中间业务层的实现技术有什么不同
4、Java和在数据访问层的实现技术有什么不同
5、请解释JSP(Java Server Page)的含义
6、请描述JSP的工作原理
7、在JSP中支持哪些形式的注释方式
8、请描述page指令和include指令的主要功能是什么
9、请描述JSP中的动作标签的含义
10、请描述<jsp:useBean>动作标签的功能含义
11、在Web站点内的WEB-NF/classes目录一般存放什么程序?而在WEB-NF/lib目录中一般存放什么程序?
12、在Web站点内的WEB-NF目录内的web.xml起什么作用?
13、、请描述面向对象程序设计方法和面向过程程序设计方法的最大的差别(不同)
14、请描述面向对象技术中四大特性?为什么要进行抽象、为什么要进行封装?
15、面向对象编程技术中的封装有什么要求?如何遵守封装的要求?
16、请描述面向对象编程技术中的“类”与“对象”概念?
17、什么是构造函数和重载函数
18、为什么要继承派生?在子类中如何进行继承与派生父类?
19、请描述Java名字空间及访问规则
20、什么是Java中的多态性?如何实现多态?有那些形式的多态?
21、什么是Java中的接口,为什么要应用接口?
22、应用接口和应用继承有什么本质上的不同点?
23、请描述对接口实现的编程要求
24、什么是Java中的包?为什么要应用包?如何正确地命名包?
25、什么是JDBC?为什么要提出JDBC?
26、请描述JDBC的一般编程实现步骤?
27、JDBC为什么可以实现“通用”的数据库访问?
28、请描述PreparedStatement和ResultSet的各自的作用是什么?
29、什么是带参数的JDBC的数据访问?如何实现该方式的编程?
30、什么是事务?为什么在应用系统的开发中要应用事务?
31、什么是DAO?为什么要应用DAO的模式进行系统的持久层的开发?
32、应用系统的持久层开发实现中一般应该有那些组件类
33、什么是页面为中心的网站设计?
34、什么是JSP Model One的网站设计?
35、什么是JSP Model Two的网站设计?
36、请描述在J2EE Web开发中分别以什么组件实现MVC中M V C ?
37、什么是Web过滤技术?为什么要提供Web过滤技术?
38、请描述Web应用中的过滤器的主要作用?
39、请描述过滤器的主要技术特性有哪些?
40、请描述过滤器的编程实现的主要步骤?如何保证过滤器的链式结构的完整性?
41、什么是Web监听器组件技术?为什么要提供Web监听器组件技术?
42、请描述ServletContextListener接口的主要作用?
43、请描述HttpSessionListener接口的主要作用?
44、什么是计划任务?请简要描述在Web应用中实现计划任务的主要思路?。