苏州科技学院javaee期末考试
- 格式:doc
- 大小:59.50 KB
- 文档页数:11
试题类型:一、单项选择题(每小题2分,共20分)1.以下关于Servlet程序的叙述中,错误的是(ABD)。
A)HttpServlet是一个抽象类,继承它的子类要强制实现init()方法,service()方法、destroy()三个方法,因为这三个方法都是抽象类中的抽象方法。
B)HttpServlet类中,init()方法的开象是一个ServletConfig对象,它相当于JSP中的application对象。
C)HttpServlet类中,doXXX()方法的两个形参依次为HttpServletResponse、HttpServletRequest对象。
D)如果多个用户请求同时访问一个Servlet程序,则init()方法、service()方法、destroy()三个方法会被多个线程运行。
2.以下关于过滤器的叙述中,正确的是(ACD)。
A)客户端请求激活的过滤器链是web应用中部署的过滤器链的了集。
B)请求访问一个目标资源时,目标资源的输出信息直接付给客户端,不再经过过滤器的处理。
C)过滤器中,业务逻辑代码是在doFilter()方法内实现的。
D)过滤器是一种特殊的Servlet程序。
3.JSP页面的Servlet程序中,各主要方法的执行先后顺序为(C)单选A)getDependants( )、jspInit( )、jspService( )、jspDestroy( )B)jspService( )、jspInvoke( )、_jspDestroy( )C)jspInit( )、_jspService( )、jspDestroy( )D)jspInit( )、jspService( )、jspDestroy( )E)_jspService( )4.要将request转发给下一个JSP页面,可行的方案是(BCD)。
A)直接使用pageContext.forward()B)通过application.getRequestDispatcher()获得目标资源的RequestDispatcher对象,在执行对象的forward()方法C)使用<jsp:forward>D)直接使用response.sendRedirect()5.以下哪些些关系属于Web组件的关联关系(ACD)A)请求重定向B)提交表单数据C)请求转发D包含6.关于在web.xml 文件中配置欢迎文件清单说法正确的是(ACDE)。
1、下列哪一项不是Java EE的常用技术(D)A、JSPB、HibernateC、SpringD、JNDB2、servlet与一般Java类的相同点是什么?(D)A、B、Servlet是运行在Web服务器的一个Web组件C、Servlet通常是通过HTTP协议回复Web客户端的请求D、Servlet是运行在Web容器的Java类3、以下哪一个是市场上流行的Java EE服务器(A)A、ApacheB、tomcatC、glassfishD、netbeans4、EJB的作用是(C)A、Servlet组件和JSP组件B、用于丰富客户端图形界面显示C、通过RMI/IIOP协议与EJB容器通信远处电泳EJB的功能方法,进而完成业务处理。
D、GUI交互界面的开发,负责与系统用户的交互5、分析以下程序:public class x{public static void main(String[]args){String ol=new String("ABV");String o2=new String("ABV");if(o1.equals(o2)){System.out.println("Equal");}}该程序的执行结果是( B )。
A. 程序执行后无输出B. 程序执行后输出“Equal”C. 程序在第5行出现编译错误D. 程序执行后出现异常6、执行完下面的程序片段后,下面哪些结论是正确的?(B)int a,b,c;a=1;b=2;c=(a+b>3?a++:++b);A. a的值是2,b的值是3B. a的值是1,b的值是3C.a的值是1,b的值是2D.c的值是false6、Struts框架的控制器主要由(C )负责。
A. EJBB.JSPC. ActionServletD.标记库7、Struts通过(A)支持MVC的视图开发。
A. JSP标签库和Form BeanB. EJBC. ServletD.Applet8、Struts应用程序的默认配置文件为(A )。
Java期末考试最后5题含答案(苏州科技学院)2.定义⼀个家电类Household Appliance要求:(1)成员变量表⽰家电的编号id,品牌brand,功耗consumption(单位⽡特)基本信息;//声明成员变量private String id; //编号private String brand; //品牌private int consumption; //功耗(2)其成员id和brand的setter/getter⽅法;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}(3)缺省参数的构造⽅法,并将对象属性初始化为“10001”、“长虹”、100;//⽆参构造⽅法public HouseholdAppliance() {this.id = "10001";this.brand = "长虹";this.consumption = 100;}(4)有参数的构造⽅法,以初始化id,brand,consumption;//有参构造⽅法public HouseholdAppliance(String id, String brand, int consumption) {super();this.id = id;this.brand = brand;this.consumption = consumption;}(5)输出Household Appliances基本信息的void printInfo()⽅法及和返回信息的String getInfo()⽅法;public void printInfo(){System.out.println("Id:"+this.getId());System.out.println("Brand:"+this.getBrand());System.out.println("Consumption:"+this.getConsumption());}public String getInfo(){return"Id:"+this.getId()+"\tBrand:"+this.getBrand()+"\tConsumption:"+this.getConsumption();}(6)设测试类TestHouseApplianceDemo,测试HouseholdAppliances。
可编辑---------------------------------------------------------------------- JAVA EE 期末考试复习材料一、选择题:1以下哪个HIbernate 主键生成策略是实现主键按数值顺序递增的?(主键生成策略是实现主键按数值顺序递增的?(A)A)A) A) increment increment B)Identity C)sequence D)native2、在JSP 中,中,Page Page 指令的(指令的(B B )属性用来引入需要的包和类。
A)Exends B)import C)language D)contentType3、从以下哪个选项中可以获得Servlet 的初始参数(的初始参数(C)C)A)Servlet B)ServletContextC)ServletConfig D)GenericServlet4、以下关于HIbernate 说法正确的是(说法正确的是(A)A)A)Hibernate 是ORM 的一种实现方式。
B)Hibernate 不要JDBC 的支持。
C)C)属于控制层属于控制层D)D)对象关系映射,让对象同数据库表产生关系。
对象关系映射,让对象同数据库表产生关系。
5、下面关于OPM 的说法不正确的是(的说法不正确的是(C)C)持久化是将程序中数据在瞬时状态和持久状态间转换的机制。
瞬时状态是指程序数据保存在内存中,程序退出时,数据就不存在了。
把关系数据库中的数据读出来不属于持久化。
程序数据直接保存成文本文件属于持久化。
6、下面关于SessionFactory 的说法正确的是(的说法正确的是(B B )A )SessionFactory 是轻量级的,可以随意创建和销毁。
B)SessionFactory 是重量级的接口,不可以随意创建和销毁。
C)SessionFactory 是重量级的类,不可以随意创建和销毁。
大学Java期末考试题库及答案第一部分:选择题1. 下列关于Java语言的说法错误的是:A. Java语言是一种解释性语言B. Java语言是一种面向对象的语言C. Java语言的跨平台特性使得它可以在不同的操作系统上运行D. Java语言最初由Sun公司开发,现在属于Oracle公司的产品答案:A2. 下列哪个不是Java中的基本数据类型?A. doubleB. booleanC. intD. string答案:D3. 下列哪种语句可以用来终止一个循环体从而强制退出循环?A. breakB. continueC. returnD. exit答案:A第二部分:编程题1. 编写一个Java程序,输出1-100中的所有偶数。
答案:public class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}2. 编写一个Java程序,找到一个数组中的最大值。
答案:public class MaxValue {public static void main(String[] args) { int[] arr = {5, 2, 9, 10, 25, 1};int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}System.out.println(max);}}第三部分:简答题1. 什么是Java虚拟机?答:Java虚拟机(JVM)是一个能够执行Java字节码的虚拟机器。
它是Java平台的中心组件之一,负责将Java程序转换成真正能够在计算机上运行的指令。
2. 什么是Java中的类?答:Java中的类是一种数据结构,包括了数据和方法。
JavaEE上篇期末考试题及答案一、选择题(每题2分,共20分)1. 在JavaEE中,用于表示Web应用程序的目录结构的是:A. EARB. WARC. JARD. RAR答案:B2. Servlet的生命周期开始于:A. 初始化方法B. 销毁方法C. 服务方法D. 重载方法答案:A3. 下列哪个不是JavaEE的组件?A. ServletB. JSPC. EJBD. JDBC答案:D4. 在JavaEE中,用于管理Web应用程序的配置信息的是:A. web.xmlB. application.xmlC. ejb-jar.xmlD. context.xml答案:A5. 以下哪个不是JavaEE的Web服务?A. SOAPB. RESTC. XML-RPCD. CORBA答案:D6. 在JavaEE中,用于处理HTTP请求和响应的接口是:A. HttpServletRequestB. HttpServletResponseC. ServletRequestD. ServletResponse答案:A7. 在JavaEE中,用于定义企业级应用的部署描述符的是:A. application.xmlB. ejb-jar.xmlC. web.xmlD. context.xml答案:A8. 下列哪个不是JavaEE的事务管理特性?A. 容器管理的事务B. Bean管理的事务C. 声明式事务D. 编程式事务答案:B9. 在JavaEE中,用于表示Web服务的接口的是:A. JAX-RSB. JAX-WSC. JAXBD. JAXP答案:B10. 下列哪个不是JavaEE的持久化API?A. JPAB. JDBCC. JDOD. JMS答案:D二、简答题(每题10分,共30分)1. 请简述JavaEE中Servlet的作用和生命周期。
答案:Servlet是JavaEE中用于生成动态Web内容的组件。
它的生命周期从实例化开始,然后是初始化,服务,最后是销毁。
java期末考试题及答案详解Java期末考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪个不是Java的基本数据类型?A. intB. doubleC. StringD. char答案:C2. Java中的封装是指什么?A. 将类定义为finalB. 将类成员变量定义为privateC. 将类定义为abstractD. 将方法定义为static答案:B3. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. packageD. enum答案:B4. 下列哪个是Java的异常处理关键字?A. tryB. switchC. forD. while答案:A5. Java中的HashMap存储的是?A. 键值对B. 仅键C. 仅值D. 键和值的列表答案:A6. 下列哪个是Java集合框架中的线程安全类?A. ArrayListB. LinkedListC. HashSetD. Vector答案:D7. 在Java中,哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract答案:A8. Java中的构造方法具有以下哪些特性?A. 可以有返回值B. 可以重载C. 可以被继承D. 必须与类名相同答案:B, D9. 下列哪个是Java的访问修饰符?A. publicB. protectedC. privateD. All of the above答案:D10. 在Java中,哪个关键字用于定义一个类?A. classB. structC. enumD. interface答案:A二、简答题(每题10分,共30分)1. 简述Java中重载和重写的区别。
答案:重载(Overloading)是指在同一个类中可以有多个同名方法,只要它们的参数列表不同(参数数量或类型不同)。
重写(Overriding)是指子类中可以有一个与父类同名、同参数列表的方法,此时子类的方法会覆盖父类中的方法。
JAVA期末考试题及答案一、选择题(每题5分,共40分)1. 下列哪个不是Java基本数据类型?A. intB. floatC. StringD. char答案:C2. 在Java中,下面哪个操作符用于取模?A. %B. /C.D. -答案:A3. 下列哪个方法用于获取字符串的长度?A. length()B. size()C. lengthD. sizeof()答案:A4. 在Java中,下列哪个方法用于判断字符串是否为空?A. isEmpty()B. isBlank()C. isEmptyD. None of the above答案:B5. 下列哪个类用于实现简单的日期处理?A. java.util.DateB. java.sql.DateC. java.text.SimpleDateFormatD. java.util.Calendar答案:A6. 在Java中,哪个关键字用于定义接口?A. classB. interfaceC. extendsD. implements答案:B7. 下列哪个方法用于在ArrayList中添加元素?A. add()B. append()C. insert()D. put()答案:A8. 在Java中,下列哪个方法用于获取数组的长度?A. length()B. size()C. lengthD. sizeof()答案:C二、填空题(每题5分,共30分)9. Java中,所有的类都是______类的子类。
答案:Object10. 在Java中,一个类的构造方法名称必须与______相同。
答案:类名11. Java中,用于声明一个整型变量的关键字是______。
答案:int12. 在Java中,用于表示循环语句的关键字是______。
答案:for13. 在Java中,用于创建对象的操作符是______。
答案:new三、编程题(每题15分,共30分)14. 编写一个Java程序,实现以下功能:输入一个字符串,输出字符串中字母和数字的个数。
1、当访问一个Servlet时,以下Servlet中的哪个方法先被执行?( D )(A) destroy() (B) doGet() (C) service() (D) init02、假设在myServlet应用中有一个MyServlet类,在web.xml文件中对其进行如下配置:<servlet><servlet-name> mysrvlet </servlet-name><servlet-class> com.wgh.MyServlet </servlet -class></servlet>< servlet-mapping><servlet -name> myservlet </servlet-name><servlet-pattern> /welcome </url-pattern></servlet-mapping>则以下选项可以访问到MyServlet的是( D )。
(A) http://localhost:8080/MyServlet(B) http://localhost:8080/myservlet(C) http://localhost:8080/com/wgh/MyServlet(D) http://localhost:8080/ welcome3.JSP文件在第一次运行的时候被JSP引擎编译为( A )文件。
A. ScrvletB. ClassC. HTMLD. XML4 MVC设计模式将应用程序分为( B )部分。
A. 2B. 3 C.4 D. 55Java FE体系中Web层技术是( D )。
A. HTMLB. JavaBeanC. EJBD. JSP9. JSP规范唯一支持的语言是( C )。
A. C#B. C++C. JavaD.Basic10. JSP中,HTMI.注释的特点是( B )。
java期末考试试题及答案Java期末考试试题及答案Java作为一门广泛应用于软件开发领域的编程语言,其在计算机科学教育中扮演着重要的角色。
期末考试是对学生在整个学期所学知识的综合考察,下面将给出一些可能出现在Java期末考试中的试题及其答案,供同学们参考。
一、选择题1. 在Java中,以下哪个关键字用于定义一个类?A. classB. voidC. intD. public答案:A2. 下面哪个选项是Java中的基本数据类型?A. StringB. IntegerC. BooleanD. Array答案:C3. 在Java中,以下哪个关键字用于声明一个方法?A. methodB. voidC. intD. public答案:B4. 下面哪个选项是Java中的循环结构?A. if-elseB. switch-caseC. forD. try-catch答案:C5. 在Java中,以下哪个关键字用于创建一个对象?A. newB. voidC. intD. public答案:A二、填空题1. 在Java中,用于接收用户输入的类是_________。
答案:Scanner2. 在Java中,用于将字符串转换为整数的方法是_________。
答案:parseInt3. 在Java中,用于将一个对象转换为字符串的方法是_________。
答案:toString4. 在Java中,用于终止当前循环并开始下一次循环的关键字是_________。
答案:continue5. 在Java中,用于抛出一个异常的关键字是_________。
答案:throw三、编程题1. 编写一个Java程序,输出1到100之间所有的偶数。
```javapublic class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}```2. 编写一个Java程序,计算斐波那契数列的第n个数。
JavaEE上篇期末考试题及答案一、单项选择题(每题2分,共20分)1. 在JavaEE中,以下哪个不是EJB的类型?A. 会话BeanB. 实体BeanC. 消息驱动BeanD. 数据访问Bean答案:D2. Servlet的生命周期由哪个方法开始?A. init()B. service()C. doGet()D. destroy()答案:A3. 下列哪个不是JSP的内置对象?A. requestB. responseC. outD. stream答案:D4. 在JavaEE中,以下哪个技术用于数据库连接池?A. JDBCB. JNDIC. JTAD. JMS答案:B5. JavaEE中,以下哪个不是Web服务的协议?A. SOAPB. RESTC. RMID. JMS答案:C6. 在JavaEE中,以下哪个不是MVC模式的组成部分?A. ModelB. ViewC. ControllerD. Service答案:D7. JavaEE中,以下哪个不是JPA的实体管理操作?A. persistB. mergeC. removeD. query答案:D8. 在JavaEE中,以下哪个不是JSP的指令?A. <%@ page %>B. <%@ include %>C. <%@ taglib %>D. <%@ import %>答案:B9. 在JavaEE中,以下哪个不是EJB的事务管理类型?A. Bean-Managed Transaction Demarcation (BMT)B. Container-Managed Transaction Demarcation (CMT)C. Local TransactionD. Distributed Transaction答案:C10. 在JavaEE中,以下哪个不是JAX-RS的注解?A. @PathB. @GETC. @ProducesD. @Autowired答案:D二、多项选择题(每题3分,共15分)1. JavaEE中,以下哪些是Web容器的职责?A. 处理HTTP请求B. 管理Servlet生命周期C. 提供数据库连接D. 管理事务答案:A, B2. 在JavaEE中,以下哪些是JPA实体的常用注解?A. @EntityB. @TableC. @ColumnD. @Autowired答案:A, B, C3. JavaEE中,以下哪些是JSP的标准动作?A. <jsp:forward>B. <jsp:include>C. <jsp:useBean>D. <jsp:setProperty>答案:A, B, C4. 在JavaEE中,以下哪些是EJB的事务属性?A. REQUIREDB. SUPPORTSC. NOT_SUPPORTEDD. NEVER答案:A, B, C, D5. JavaEE中,以下哪些是Web服务的常用协议?A. SOAPB. RESTC. RMID. JMS答案:A, B三、简答题(每题5分,共20分)1. 简述JavaEE中EJB的作用域。
java期末考试题目及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪一种编程范式?A. 过程式编程B. 面向对象编程C. 函数式编程D. 逻辑式编程答案:B2. 下列哪个是Java的关键字?A. publicB. myMethodC. 123D. Hello答案:A3. Java中的main方法是程序的入口点,其正确的方法签名是:A. public void main(String args[])B. public static void main(String[] args)C. public static void main(String args)D. public void main(String[] args)答案:B4. 以下哪个是Java中合法的类名?A. 2classB. classC. _classD. MyClass答案:D5. Java中,哪个关键字用于定义接口?A. classB. interfaceC. packageD. import答案:B6. 在Java中,哪个关键字用于定义一个方法?A. methodB. functionC. defD. void答案:D7. 下列哪个是Java中的基本数据类型?A. StringB. IntegerC. floatD. ArrayList答案:C8. Java中的异常处理机制是通过哪两个关键字实现的?A. try-catchB. if-elseC. switch-caseD. for-while答案:A9. 在Java中,哪个关键字用于实现多态?A. newB. extendsC. implementsD. override答案:D10. 下列哪个是Java集合框架中接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B二、简答题(每题5分,共30分)1. 请简述Java的垃圾回收机制。
苏州科技学院软件工程期末考试名词解释题(本大题共5小题,每小题3分,共15分)1、项目风险指项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响。
2、α测试是指软件开发公司组织内部人员模拟各类用户行为对即将面市的软件产品(称为α版本)进行测试,试图发现错误并修正。
3、完善性维护成任务是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
4、技术风险指软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,对软件项目带来的危害。
5、活动图描述系统为完成某项功能而执行的操作序列,这些操作序列可以并发和同步。
四、简答题(本大题共5小题,每小题5分,共25分)1、软件危机表现方面:软件开发成本过高;软件质量得不到保证;软件开发效率低;难以控制开发进度,工作量估计困难;软件不能满足社会发展的需求,成为社会、经济发展的制约因素;程序规模、工作量与成本的关系。
2、软件项目管理任务:制定软件项目的实施计划和方案;对人员进行组织和分工;按照计划进度,以及成本管理、风险管理、质量管理的要求进行软件开发,完成软件项目的各项要求和任务。
3、采用信息隐藏原理指导模块设计优点:支持模块的并行开发;减少软件测试和软件维护的工作量。
4、黑盒测试完全不考虑程序的内部结构和处理过程,测试仅在程序界面上进行。
因此黑盒测试设计测试用例旨在说明:①软件的功能是否可操作;②程序能否适当地接收输入数据并产生正确的输出结果或在可能的场景中事件驱动的效果是否尽如人意;③能否保持外部信息( 如数据文件) 的完整性。
5、简述设计模型精化需要需要考虑的任务:以顶层架构图为基础,精化目标软件系统的体系结构。
精化类之间的关系。
精化类的属性和操作。
针对具有明显状态转换特征的类,设计状态图。
针对比较复杂的类方法,设计活动图。
问答题(每小题5分,共20分)1.什么是软件生存期。
答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
javaee期末试题及答案正文:一、选择题1. 在JavaEE中,以下哪个是用于创建Web应用程序的基础组件?A. ServletB. JDBCC. JSPD. Spring答案:A. Servlet2. 在JavaEE中,以下哪个是用于连接数据库的标准API?A. JDBCB. JSPC. JavaBeansD. JNDI答案:A. JDBC3. JavaEE的三层体系结构中,以下哪一层主要负责处理业务逻辑?A. 表现层B. 控制层C. 持久层D. 业务逻辑层答案:D. 业务逻辑层4. 在JavaEE中,以下哪个是用于展示动态内容的技术?A. ServletB. JSPC. JDBCD. JNDI答案:B. JSP5. 在JavaEE中,以下哪个是用于管理事务的技术?A. JDBCB. JNDIC. JTAD. JSP答案:C. JTA二、填空题1. 在JavaEE中,______是用于管理JavaBean的容器。
答案:JNDI2. 在JavaEE中,______是用于实现面向切面编程的框架。
答案:Spring3. 在JavaEE中,______是用于创建数据访问层的组件。
答案:JDBC4. 在JavaEE中,______是用于处理请求和响应的Web组件。
答案:Servlet5. 在JavaEE中,______是用于将Java代码嵌入HTML页面的技术。
答案:JSP三、问答题1. 请简要介绍JavaEE的三层体系结构。
答:JavaEE的三层体系结构包括表现层、业务逻辑层和持久层。
表现层负责处理用户请求和响应,通常使用Servlet和JSP等技术实现,用于展示动态内容和与用户进行交互。
业务逻辑层负责处理业务逻辑,包括处理用户请求、调用持久层组件进行数据操作等。
通常使用JavaBean等组件实现业务逻辑。
持久层负责与数据库进行交互,包括对数据的增删改查。
通常使用JDBC等标准API实现数据库的连接和操作。
JavaEE上篇期末考试题及答案一、选择题(每题2分,共20分)1. JavaEE中用于表示HTTP请求和响应的接口是:A. HttpServletRequestB. HttpServletResponseC. HttpSessionD. ServletContext答案:A2. 下列哪个不是JavaEE中的EJB类型?A. Session BeanB. Entity BeanC. Message Driven BeanD. Data Access Object答案:D3. 在JavaEE中,用于管理事务的注解是:A. @TransactionalB. @StatelessC. @EntityD. @PersistenceContext答案:A4. JavaEE中,用于声明式事务管理的接口是:A. UserTransactionB. EntityManagerC. DataSourceD. Connection答案:A5. 在JavaEE中,以下哪个注解用于声明一个类为Servlet?A. @WebServletB. @ControllerC. @ServiceD. @Component答案:A6. JavaEE中,用于配置Servlet映射的注解是:A. @GetMappingB. @PostMappingC. @RequestMappingD. @ServletComponent答案:C7. 在JavaEE中,以下哪个是用于声明一个类为JSP页面的注解?A. @JspViewB. @JspTagC. @JspPageD. @JspFragment答案:C8. JavaEE中,用于声明一个类为过滤器的注解是:A. @FilterB. @ServletC. @WebListenerD. @Controller答案:A9. 在JavaEE中,用于声明监听器的注解是:A. @ListenerB. @ObserverC. @WebListenerD. @Component答案:C10. JavaEE中,用于声明一个类为监听器的注解是:A. @ApplicationScopedB. @SessionScopedC. @RequestScopedD. @ConversationScoped答案:A二、填空题(每空2分,共20分)1. JavaEE中的______注解用于声明一个类为JAX-RS资源。
《JA V A EE程序设计A卷》期末考试试卷附答案一、判断题(每题1分,共10分)1. JSP页面只能在客户端执行。
( )2. Page指令可以定义当前JSP程序的全局属性。
( )3. application对象不属于JSP的隐含对象。
()4. exception对象用于处理JSP文件执行时发生的错误和异常。
( )5. Java中连接数据库的技术是JDBC(Java Database Connectivity)。
()6. 数据库与Web服务器需要在同一台计算机上。
( )7. Servlet与普通Java应用程序一样,要有main方法。
( )8. 不能给一个Servlet映射多个访问路径。
( )9. JavaBean是Java程序的一种组件,其实就是Java类。
()10. EJB和普通的的JavaBean,都能处理复杂业务逻辑。
( )二、填空(每题2分,共20分)1. Taglib指令属于JSP的__________指令。
2. Page指令的属性Language的默认值是____________。
3. 表单的提交方法包括__________和__________方法。
4. <input>标记中的type属性取值________表示为单行文本输入框。
5. 数据库的连接是由JDBC 的______________类管理的。
6. 当客户端请求一个JSP页面时,JSP容器会将请求信息包装在_________对象中。
7. Servlet主要用于接受客户端的请求,将返回客户端。
8. Serlvet接口只定义了一个服务方法就是______。
9. Servlet的生命周期指Servlet从和实例初始化到处理请求和相应,直到的全过程。
10. JavaBeans可以是有界面的,也可以是无界面的构件,而EJB一般来说是的。
三、选择题(单选) (每题3分,共45分)1. 下列关于Tomcat说法正确的是A. Tomcat是一种编程语言B. Tomcat是一种开发工具C. Tomcat是一种编程思想D. Tomcat是一个免费的开源的Serlvet容器2.下列关于Tomcat个目录说法错误的是A.bin目录:包含启动/关闭脚本B.conf目录:包含不同的配置文件C.Lib目录:包含Tomcat使用的JAR文件D.webapps目录:包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下E.work目录:包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下3.下列哪一个JSP标记是正确的?A.<%@ include page=”notice.html” %>B.<jsp:include file=”notice.html” />C.<jsp:include page=”notice.html” />D.<%! include file=”notice.html” %>4. 下列哪一个方法用于设置HttpServletResponse的内容类型?A.setParameterB.setContentTypeC.setAttributeD.doPostE.None of the above5. 关于FORM表单提交的HTTP的GET方法,下列哪个说法是错误的?A.不能向服务器提交二进制数据B.不能向服务器提交无限长度的数据C.不能向服务器提交多值参数D.参数附在URL后面6. 在web.xml中<servlet-mapping>元素表示从servlet的URL的映射关系,它有两个子元素分别表示servlet 名称和与其对应的URL映射,下面哪一个子元素表示URL映射A.<mapping>B.<servlet-url>C.<url_mapping>D.<url_pattern>7. 下列说法中错误的是A.<!-- This file displays the user login screen -->会在客户端的HTML源代码中产生和上面一样的数据B.<%-- This comment will not be visible in the page source --%>会在客户端的HTML源代码中产生和上面一样的数据C.<%! int i = 0; %>是一个合法的变量声明D.表达式元素表示的是一个在脚本语言中被定义的表达式。
四、应用系统设计(60分)1.视图Input.java上是新闻系统发布表单,代码如下所示,设对应的接收请求Servlet文件名为Input.java,该Servlet将用户表单上提交的信息向客户端返加以便进行确认。
表单HTML代码:<form method=”post” action=”./input”>标题<input type=”text” name=”title”/><br/>作者<input type=”text” name=”authorname”/><br/>类别<input type=”radio” name=”category” value=”原创”/>原创<input type=”radio” name=”category” value=”转发”/>转发内容<textarea name=”context”/><br/>关键字<input type=”checkbox” name=”keyword” value=”音乐”/>社会<input type=”checkbox” name=”keyword” value=”旅游”/>经济<input type=”checkbox” name=”keyword” value=”电影”/>体育<input type=”checkbox” name=”keyword” value=”游泳”/>科技<br/>新闻发生地<select name=”local”><option value=”江苏”>江苏</option><option value=”上海” selected=”selected”>上海</option></select><br/><input type=”submit” name=”Submint” value=”提交”/><br/></form>试完成(共20分):(1)编写该Servlet(10分)(2)写出该Servlet的配置文件名和其中Servlet部分的配置;(5分)(3)输出中文乱码问题的解决方法。
(5分)解:(1)Input.java……..Public class Input extends HttpServlet{//在process方法中完成处理Protected void process(HttpServletRequest,HttpServletResponse response)Throws ServletException ,IOException{Stringtitile,autorname,categroy,context,keyword[],local;//新闻各项目String strkeyword="";//新闻关键字处理String format;//显示格式处理String returnStrNews;//返回新闻信息PrintWriter pw;//输出titile=request.getParameter("titile");//获取新闻标题autorname=request.getParameter("autorname");//获取新闻作者categroy=request.getParameter("categroy");//获取新闻类别context=request.getParameter("context");//获取新闻内容keyword=request.getParameterValues("keyword");//获取新闻关键字local=request.getParameter("local");//获取新闻发生地//处理新闻关键字for(String str :keyword){strkeyword+=str+",";}//添加显示格式format="标题:%s<br>"+"作者:%s<br>"+"类别:%s<br>"+"内容:%s<br>"+"关键字:%s<br>"+"新闻发生地:%s<br>";//处理好要返回客户端的新闻信息returnStrNews=String.format(format,titile,autorname,categroy,context,strkeyword);pw=response.getWriter();//响应pw.write(returnStrNews);//向客户端返回pw.flush();//刷新pw.close();//关闭}Public void doPost()HttpServletRequest,HttpServletResponse response)throws ServletException ,IOException{this. process (request, response); //此处完成调用process()方法}}(2)该Servlet的配置文件名是:web.xmlServlet部分的配置:<servlet><servlet-name> Input</servlet-name><servlet-class>包名. Input </servlet-class></servlet><servlet-mapping><servlet-name> Input </servlet-name><url-pattern>/input </url-pattern></servlet-mapping>(3)输出中文乱码问题的解决方法。
两种方法:一种写一个过滤器。
一种是在servlet里设置中文编码为GB2312.Request.setCharacterEncoding(“GB2312”);2.设上题的表单中,用户提交的数据要保存到Mysql的test数据库的表格news中,保存的内容分别是标题、作者、关键字、内容、新闻发生地,字段名与表单上的组件name 名相同。
按以下要求完成:(共16分)(1)写出创建该表的SQL语句,字段中包括主键id(自增字段);(2)修改上题中的Input.java中的process()方法,用JDBC保存数据,保存成功后转向Success.jsp; (10分)解:(1)SQL语句create table news(id int(11) primary key auto_increament;titile varchar(80),autorname varchar(40),keyword varchar(40),context varchar(1024),local varchar(40));(2)Input.javaPublic class input extends HttpServlet{//在process方法中完成处理Protected void process(HttpServletRequest,HttpServletResponse response)throws ServletException ,IOException{String titile,autorname,context,keyword[],local;//新闻各项目Connection con = null;//创建数据连接titile=request.getParameter("titile");//获取新闻标题autorname=request.getParameter("autorname");//获取新闻作者context=request.getParameter("context");//获取新闻内容keyword=request.getParameterValues("keyword");//获取新闻关键字local=request.getParameter("local");//获取新闻发生地//处理新闻关键字for(strkeyword:keyword){strkeyword+=strkeyword+",";}try{Class.forName("com.mysql.jdbc.Driver");//加载驱动器con = DriverManager.getConnection("jdbc:mysql://localhost:3306/studentDB?characterEncodi ng=utf-8","root","");PreparedStatement pstmt=conn.prepareStatement("insert into News(titile,autorname,context,keyword,local)values(?,?,?,?,?)");pstmt.setString(1,titile);pstmt.setString(2,autorname);pstmt.setString(3,context);pstmt.setString(4,keyword);pstmt.setString(5,local);int x = pstmt.executeUpdate();if(x >=1)result = true;}catch(Exception e){throw e;}finally{if(conn!=null){try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}if( result)request.getRequestDispatcher("Success.jsp").forward(request, response);//保存成功,转向Success.jsp代码}}3.假设题二的新闻发布是运行在Strus2框架下,表单的提交保存请求是由Action完成的,成功后要转向视图Success.jsp,试完成:(1)写出需要的实体类(可省略setter/getter方法):(2)写出实现保存新闻的该Action(Action类名为InputAction.java)(3)写出该Action的配置文件名和其中的Action解决:(1)实体类News.javapublic class News{private String titile;//标题private String autorname;//作者private String keyword;//关键字private String context;//内容private String local;//发生地public void News(){supser();}public void News(String titile,String autorname,String keyword,String context,String local){this.titile=titile;this.autorname=autorname;this.keyword=keyword;this.context=context;this.local=local;}}(2)InputAction.javaPublic class InputAction extends ActionSupport{Protected void addNews(News news){//这部分代码假设已完成,可直接调用} //需要完成的其他代码private News news;public News get News(){return news;}public void setNews(News news){this.news=news}public String execute() throws Exception {this. addNews(news);return SUCCESS;}}(3)Action 的配置文件名:Action 部分的配置内容如下:<action name="Input"class="包名.InputAction "method="Input"> <result name="success">/Success.jsp</result></action>4.请利用Hibenate框架,改写上题的InputAction 中protected void addNews(News news)方法,实现用户注册数据写入数据库(假设SessionFactory 类的类名为HiberanteSessionFactory,可直接使用),按下列要求完成:(共10)(1)设置Hiberante的POJO(即实体类)为News,写出News类与new表的关系映射在文件News.hbm.xml的配置内容;(2)改写InputAction.java中的protected void addNews(News news)方法,使用SessionFactory实现该方法。