第1页共12页《Web程序设计技术基础(J2EE)》期末试卷(A卷)参考答案(开卷)考试用时:120分钟总分:100分题号一二三总分得分得分阅卷人一、写出下列程序的运行结果(3*6,共18分)1.publicclassTest{publicstaticvoidmain(String[]args){SubClasssb=newSubClass();System.out.println(sb.min());}}classSuperClass{inta=10,b=20;publicSuperClass(){System.out.println(SuperClassCreate);}}classSubClassextendsSuperClass{publicSubClass(){System.out.println(SubClassCreate);}intmin(){return((ab)?a:b);}}运行结果:2.classParent班级姓名学号--------------------------------------------------------------------------------密封线内不得答题----------------------------------------------------------------------------------------------------------------------------第2页共12页{voidprintMe(){System.out.println(parent);}}classChildextendsParent{voidprintMe(){System.out.println(child);}voidprintAll(){super.printMe();this.printMe();printMe();}}publicclassClassTest{publicstaticvoidmain(String[]args){ChildmyC=newChild();myC.printAll();}}运行结果:3.publicclassTestString第3页共12页{publicstaticvoidmain(String[]args){Strings1=Hello!;Strings2=newString(World!);Strings3=HelloJava,s4=HelloJava;Strings5=newString(s3);System.out.println(s1.concat(s2));System.out.println(s3==s4is+(s3==s4));System.out.println(s3==s5is+(s3==s5));}}运行结果:4.classA{static{System.out.print(1);}publicA(){System.out.print(2);}}classBextendsA{static{System.out.print(a);}publicB(){System.out.print(b);}}publicclassHello{publicstaticvoidmain(String[]ars){Aab=newB();Bb=newB();}}运行结果:5.publicclassTryCatchTest{第4页共12页publicstaticvoidmain(Stringargs[]){inta=99,b=0,c;try{System.out.println(产生异常之前);c=a/b;System.out.println(产生异常之后);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(处理下标越界异常);}catch(ArithmeticExceptione){System.out.println(处理算术异常);}System.out.println(异常处理结束);}}运行结果:6.test.jsp%@pagecontentType=text/html;charset=GBK%%@pagelanguage=java%HTMLHEADTITLEJSP页面/TITLE/HEADBODY%!ints=0;%%for(inti=1;i6;i++){s=s+i;}%P%=s%P/BODY/HTML运行结果:得分阅卷人第5页共12页二、编程题(9+15+15+15,共62分)1.编写Student.jsp,要求使用Struts标签,把学生信息(学号、姓名、性别、密码)保存到Oracle数据库中,编写Success.jsp,要求在页面上显示“学生信息保存成功!”请把两个JSP中body和/body之间的内容补充完整(7+2,共9分)Student.jsp(7分)%@pagelanguage=javaimport=java.util.*pageEncoding=UTF-8%%@taglibprefix=suri=/struts-tags%!DOCTYPEhtmlPUBLIC-//W3C//DTDHTML4.01Transitional//EN=Content-Typecontent=text/html;charset=ISO-8859-1title请输入学生信息/title/headbody输入学生信息:br//body/htmlSuccess.jsp(2分)%@pagelanguage=javaimport=java.util.*pageEncoding=GBK%htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=ISO-8859-1title学生信息插入成功/title/headbody/body/html2.编写一个无状态SessionBean,远程接口名称叫StudentRemote,本地接口名称叫第6页共12页StudentLocal,实现类叫StudentBean。(3+2+10,共15分)StudentRemote.java(3分)StudentLocal.java(2分)StudentBean.java(要求实现把学生信息通过Hibernate,保存到Oracle数据库中去)(10分)3.编写StudentAction.java(要求调用上面编写的无状态SessionBean,当调用成功时候,第7页共12页返回到Success.jsp页面,并编写两个配置文件web.xml和Struts.xml,确保配置文件正确,实现正常的流程跳转。)(9+4+2,共15分)StudentAction.java(9分)Struts.xml(4分)第8页共12页?xmlversion=1.0encoding=UTF-8?!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN(2分)?xmlversion=1.0encoding=UTF-8?web-appversion=2.4xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd4.根据以下sql脚本文件的内容建立Student持久化类和对应的student.hbm.xml映射第9页共12页文件,建立hibernate.cfg.xml文件。(4+5+6,共15分)CREATETABLEStudent(StuIdintnotnullPrimaryKey,StuNameChar(10),StuPwdChar(20),StuSexChar(4));Student.java(4分)student.hbm.xml(5分)第10页共12页?xmlversion=1.0encoding=utf-8?!DOCTYPEhibernate-mappingPUBLIC-//Hibernate/HibernateMappingDTD3.0//EN(6分)(假设当前数据库名称叫StuSys,系统管理员system,密码JYPC)?xmlversion='1.0'encoding='utf-8'?!DOCTYPEhibernate-configurationPUBLIC-//Hibernate/HibernateConfigurationDTD//EN得分阅卷人三、简答题(10+10,共20分)1、谈谈你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用中如何去使用?(10分)第11页共12页2、什么是典型的软件三层架构?软件设计为什么要分层?软件分层有什么好处?谈谈J2EE平台下各个层次分别可以使用哪些技术或框架?(10分)第12页共12页