2014-2015第1学期Java EE体系结构(A卷)
- 格式:doc
- 大小:127.50 KB
- 文档页数:13
JavaEE考试题一、填空题1.企业级应用程序通常应具备快速适应性、分布式、高安全性、可扩展性和集成化等特性。
P(6)2.两层体系结构由客户层和服务器层构成,即所谓的C/S 模式。
P(7)3.三层体系结构通常包括客户层、服务器层和应用服务器层三个层次。
P(7)4.典型Java EE 应用包括:客户层、表示层(Web层)、业务逻辑层和企业信息系统层四个层次。
P(8)5.Java EE技术框架大致包括组件技术、服务技术和通信技术三个部分。
P(11)6.Java EE组件主要包括客户端组件、Web组件和EJB组件三大类。
P(10)7.按打包粒度从小至大的顺序,Java归档包的类型分别是JAR 、WAR 和EAR 。
(PPT)8.程序错误可分为语法错、语义错和逻辑错三类。
P(20)9.JSP指令元素主要包括include 、page 和taglib 三个。
P(34)10.include指令的基本语法为<%@ include file=”URL” %> 。
P(34)11.taglib指令的基本语法为<%@ taglib uri=”taglibURI”prefix=”pre” %> 。
P(35)12.JSP参数标记的基本语法为P(39)13.读取request单值参数的方法是getParameter() ,读取多值参数的方法是getParameterValues()。
获取所有参数名称的方法是getParameterNames() 。
P(44)14.request作用范围变量可以通过setAttribute() 和getAttribute()方法设置和读取变量的数据。
P(45)15.调用response对象的addCookie(Cookie cookie)方法可将一个Cookie对象传回客户端保存。
P(48)16.调用request 对象的getCookies() 方法可以读取保存在客户端的所有Cookie对象。
JavaEE结项考试试卷(后附答案)一、单选题(共15小题,每小题2分,满分30分)1、Java是从()语言改进重新设计。
A. AdaB. C++C. PasacalD. BASIC2、下列语句哪一个正确()A. Java程序经编译后会产生machine codeB. Java程序经编译后会产生byte codeC. Java程序经编译后会产生DLLD. 以上都不正确3、已知如下定义:String s = "story"; 下面哪个表达式是合法的?()A. s += "books";B. char c = s[1];C. int len = s.length;D. String t = 100;4、执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是()A.0B.1C.-1D.死循环5、String s=new String(“xyz”); 创建了几个String对象?()A. 1个B. 2个C.3个D.4个6、当你执行以下查询语句:SELECT empno,ename FROM emp WHERE empno=7782 OR empno=7876;在WHERE语句中,以下哪个操作符可以取代OR?()A. INB. BETWEEN ……C. LIKED. <=E. >=7、下面关于Spring的说法中错误的是()?A. Spring是一系列轻量级Java EE框架的集合B. Spring中包含一个“依赖注入”模式的实现C. 使用Spring可以实现声明式事务D. Spring提供了AOP方式的日志系统8、下列语句正确的是()A.形式参数可被视为local variableB.形式参数可被字段修饰符修饰C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象9、下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法10、下面关于AOP的说法错误的是?()A. AOP将散落在系统中的“方面”代码集中实现B. AOP有助于提高系统的可维护性C. AOP已经表现出了将要替代面向对象的趋势D. AOP是一种设计模式,Spring提供了一种实现11、关于以下application的说明,正确的是()class StaticStuff{static int x=10;static { x+=5;}Public static void main(String args[ ]){System.out.println(“x=”+ x);}static { x/=3;}}A. 4行与9行不能通过编译,因为缺少方法名和返回类型B. 9行不能通过编译,因为只能有一个静态初始化器C. 编译通过,执行结果为:x=5D. 编译通过,执行结果为:x=312、下列哪些语句关于Java内存回收的说明是正确的? ()A. 程序员必须创建一个线程来释放内存B. 内存回收程序负责释放无用内存C. 内存回收程序允许程序员直接释放内存D. 内存回收程序可以在指定的时间释放内存对象13、有如下代码段:1)2){ if(unsafe()){//do something…}3) else if(safe()){//do the other…}4) }其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?()A. public IOException methodName()B. public void methodName()C. public void methodName() throw IOExceptionD. public void methodName() throws IOException14、在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是( )A.配置客户和订单关联的cascade属性为save-updateB. 配置客户和订单关联的cascade属性为allC. 设置多对一关联的inverse属性为trueD. 设置多对一关联的inverse属性为false15、下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号二、不定项多选题(共10小题,每小题2分,满分20分)1.Java程序的种类有()A.类(Class)B.AppletC.ApplicationD.Servlet2.下列说法正确的有()A.环境变量可在编译source code时指定B.在编译程序时,所能指定的环境变量不包括class pathC.javac一次可同时编译数个Java源文件D.javac.exe能指定编译结果要置于哪个目录(directory)3.下列标识符不合法的有()A.newB.$UsdollarsC.1234D.car.taxi4.下列说法错误的有()A.数组是一种对象B.数组属于一种原生类C.int number=[]={31,23,33,43,35,63}D.数组的大小可以任意改变5.不能用来修饰interface的有()A.privateB.publicC.protectedD.static6、在EL表达式中,与范围有关的EL隐含对象有()?A. pageScopeB. requestScopeC. sessionScopeD. applicationScopeE. pageContextScope7.下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法8. Stust2 Action类得到request\session对象的方式( )A. 与servlet无关的非IOCB. 与servlet相关的非IOCC. 与serlvet相关的IOCD. 与servlet无关的IOC9.下列说法错误的有()A.能被java.exe成功运行的java class文件必须有main()方法B.J2SDK就是Java APIC.Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer成功运行的java class文件必须有main()方法10. 编译并运行下面的程序,运行结果为( )public class Example{public static void main(String args[] ){int l=0;do{System.out.println(“ Doing it for l is:” +l);}while(--l>0)System.out.println(“ Finish” );}}A. Doing it for l is 3B. Doing it for l is 1C. Doing it for l is 2D. Doing it for l is 0E. Doing it for l is –1F. Finish三、填空题(本大题共20空,每空 1 分,共 20分)1.一个Java源程序是由若干个组成。
.............. 密 ............ 封............... 线............学校院系专业JAVA基础课程试卷A 卷一、选择题(每题1分,共40分)1、一个方法在定义过程中又调用自身,这种方法称为(B )A、构造方法B、递归方法C、成员方法D、抽象方法2、如果希望方法直接通过类名称访问,在定义时要使用的修饰符是(A )A、staticB、finalC、abstractD、this3、如果类中没有定义构造方法,系统会提供一个默认的构造方法。
默认构造方法的特点是(C )A、无参数有操作有参数无操作C、即无参数也无任何操作D、有参数有操作。
4、以下关于面向对象概念的描述中,不正确的一项是(C )A、在现实生活中,对象是指客观世界的实体。
B、程序中的对象就是现实生活中的对象。
C、在程序中,对象是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类(class)。
D、在程序中,对象是一组变量和相关方法的集合。
5、下列那一项不属于面向对象程序设计的基本要素?(C )A、类B、对象C、方法D、安全6、顺序执行下列程序语句后,则b的值是(C )String str = "Hello";String b = str.substring(0,2);A、HelloB、helloC、HeD、null7、不能直接使用new创建对象的类是(B )A、静态类B、抽象类C、最终类D、公有类8、为类定义多个名称相同、但参数的类型或个数不同的方法的做法称为()A、方法重载B、方法覆写C、方法继承D、方法重用9、定义接口的关键字是()A、extends class C、interface D、public10、现在有两个类A、B,以下描述中表示B继承自A的是()A、class A extends BB、class B implements AC、class A implementsD、class B extends A11、下面关于子类调用父类构造方法的描述正确的是()A 、子类定义了自己的构造方法,就不会调用父类的构造方法。
javaee期末复习题JavaEE期末复习题JavaEE是一种用于开发企业级应用程序的Java平台。
它提供了一套完整的工具和技术,用于构建和管理大型、复杂的分布式应用程序。
在学习JavaEE的过程中,我们需要掌握一系列的知识和技能,以便能够熟练地开发和维护JavaEE应用程序。
下面是一些常见的JavaEE期末复习题,希望对大家复习和巩固知识有所帮助。
1. 什么是JavaEE?它与JavaSE有何不同?JavaEE是Java Platform, Enterprise Edition的缩写,是一种用于开发企业级应用程序的Java平台。
与JavaSE相比,JavaEE提供了更多的功能和工具,用于构建和管理大型、复杂的分布式应用程序。
JavaSE主要用于开发桌面应用程序和小型的服务器端应用程序,而JavaEE则更适用于开发大型、复杂的企业应用程序。
2. 请简要描述JavaEE的体系结构。
JavaEE的体系结构由四个层次组成:客户端层、Web层、业务逻辑层和数据访问层。
客户端层是与用户直接交互的界面,可以是Web浏览器、移动设备或者桌面应用程序。
Web层包括Web服务器和Web容器,用于处理客户端的请求和响应。
它负责处理用户的HTTP请求,并将请求转发到业务逻辑层进行处理。
业务逻辑层是应用程序的核心,负责处理业务逻辑和数据处理。
它包括各种组件,如Servlet、EJB和消息驱动Bean等。
数据访问层用于与数据库进行交互,负责处理数据的持久化和访问。
它包括各种技术和框架,如JPA和JDBC等。
3. 什么是Servlet?它的生命周期是怎样的?Servlet是JavaEE中的一种组件,用于处理Web请求和响应。
它可以接收来自客户端的HTTP请求,并生成相应的HTTP响应。
Servlet的生命周期包括以下几个阶段:初始化阶段:当Servlet容器启动时,会创建Servlet实例并调用其init()方法进行初始化。
Java EE的Web服务体系结构Java EE的Web服务体系结构Web服务(Web Services)是目前程序设计领域中的一项新技术,是一个崭新的分布式计算模式,在不同系统平台之间具有互操作性,通过因特网,实现不同应用程序之间的远程过程调用。
下面我为大家整理了关于Java EE的Web服务体系结构,一起来看看吧:Web服务使用基于XML 的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使异类系统能够作为单个计算网络协同运行。
开发人员可以用象过去在创建分布式应用程序时使用组件一样的方式创建将来自各种源的Web服务组合在一起的应用程序。
Web服务是建立在一些通用协议的基础上,如HTTP,SOAP,XML,WSDL,UDDI等。
这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此将会有很强的生命力。
商业功能性重要的是要理解,商业机构不会选择他们现有的基于J2EE应用程序,并把他们的EJB展示为Web服务的。
虽然用Web服务平台或目前市场上出售的工具在技术上是可行的,但是在商业上这样做是没有现实意义,因为商业不在组件中展示方法调用。
在商业上他们展示的是商业功能,这些功能会转换成一系列执行该商业功能所需要的协调动作。
在即时返回服务消费者的响应中可能有也可能没有结果,还可能需要几天的时间才能完成。
商业也需要通过多层开发系统的功能性,需要记住几个安全性等级和由不同的内部应用程序使用。
例如,假设有一个在因特网上售书的商业机构G,比方说,他们确定在因特网上把一项在线订书服务展示为Web服务。
当顾客下订单的时候,订单信息在商业企业G内部启动了一个交易过程。
这个交易过程需要执行多项行动,例如,检查图书订单的'总量或执行一个财务事务处理过程。
这涉及到顾客把钱划到商业G账上,最终,给运输部门送一份消息,让他们把书送给顾客。
从图5中的J2EE系统功能图可以看出,这个交易过程可能需要与各种EJB发生交互作用,而这反过来又与企业信息系统或跨机构的数据库产生交互作用。
第一阶段Java培训基础考试题姓名:得分:一、问答题(每题3分, 共27分)1. 垃圾回收的优点和原理。
并考虑2种回收机制。
2. Error与Exception有什么区别?3.谈谈final, finally, finalize的区别。
4.&和&&的区别5.Collection 和Collections的区别。
19,String s = new String("xyz");创建了几个String Object?6. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?7. sleep() 和wait() 有什么区别?8. 数组有没有length()这个方法? String有没有length()这个方法?9. Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型?二、选择(每题1分,共10分)1.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?A ArrayList myList=new Object();B List myList=new ArrayList();C ArrayList myList=new List();D List myList=new List();2.指出正确的表达式A byte=128;B Boolean=null;C long l=0xfffL;D double=0.9239d;3.指出下列程序运行的结果public class Example{String str=new String("good");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");Sytem.out.print(ex.ch);}public void change(String str,char ch[]){str="test ok";ch[0]='g';}}A good and abcB good and gbcC test ok and abcD test ok and gbc4.运行下列程序, 会产生什么结果public class X extends Thread implements Runable{public void run(){System.out.println("this is run()");}public static void main(String args[]){Thread t=new Thread(new X());t.start();}}A 第一行会产生编译错误B 第六行会产生编译错误C 第六行会产生运行错误D 程序会运行和启动5.给出下面代码:public class Person{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?A 编译时将产生错误;B 编译时正确,运行时将产生错误;C 输出零;D 输出空。
1.表单中的数据要提交到的处理文件由表单的( C. action )属性指定。
2.要运行JSP程序,下列说法不正确的是:客户端需要安装Servlet容器,如Tomcat3.当发布Web应用程序时,通常把Web应用程序放到Tomcat的 webapps目录下。
4.下面有关HTTP协议的说法不正确的是()D.HTTP的请求和响应消息如果没有发送并传递成功的话,HTTP可以保存已传递的信息5.下面有关Servlet的描述错误的是()。
B.Servlet可以由客户端的浏览器解释执行6.下面不属于JSP指令的是:()B. import7.()动作用于转向另一个页面。
B. forward8.在项目中已经建立了一个JavaBean,该类为:bean.Student,该bean具有name属性,则下面标签用法正确的是:()C.<jsp:useBean id="student" class="bean.Student"scope="session"></jsp:useBean>9.下列选项中,()可以准确地获取请求页面的一个文本框的输入(文本框的名称为name)。
B. request.getParameter(”name”)10.使用response对象进行重定向时,使用的方法是()。
C. sendRedirect11.session对象中用于设定指定名字的属性值,并且把它存储在session对象中的方法是()。
A. setAttribute12.在application对象中用()方法可以获得application对象中的所有变量名。
B. nextElements()13.有关struts 2的说法不正确的是()B.应用Struts 2不需要进行配置14.Web应用的数据共享方式不包括()。
C.基于页面的共享15.要在页面上输出2+3=${2+3},则对应的程序代码应为()。
一、单选题(14分):1、(B)2、(C)3、(C)4、(D)5、(C)6、(B)7、(D)二、多选题(6分):1、(A) (B) (D)2、(A) (B) (C) (D)三、名词解释(30分):HTML:Hypertext Marked Language,即超文本标记语言,就是该类文档有别于纯文本的单个文件的浏览形式。
超文本文档中提供的超级链接能够让浏览者在不同的页面之间跳转。
Servlet:Servlet是和平台无关的服务器端组件,运行在Servlet容器中。
Servlet容器负责Servlet 和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。
Servlet 可以创建并返回基于客户请求的动态HTML页面。
JSP:Java Server Page,在网页HTML文件中加入Java程序片段和JSP标签,就构成了JSP 网页,所有程序操作都在服务器端执行,执行结果传送到客户端。
JDB C:JDBC是Java DataBase Connectivity的缩写,由一些Java语言编写的类和接口(Interface)组成。
在java.sql包里提供了JDBC API,定义了访问数据库的接口和类。
它需要依赖JDBC驱动程序,这些驱动程序通常由数据库厂商提供。
JavaBean:JavaBean是一种可重复使用的组件,是一个公共的类,通过setXXX方法设置属性,getXXX方法获取属性。
MVC:MVC是Model-View-Controller的简称,即模型-视图-控制器,是一种设计模式,把应用程序分成3个核心模块:模型、视图、控制器,它们各自处理自己的任务。
四、写一个表单的HTML代码,包含文本框、密码框、单选框、复选框、下拉框、文本区、提交按钮。
(10分)<form action=”servlet/register” method=”post”><p>姓名:<input type=”text” name=”name” size=”10”><p>密码:<input type=”password” name=”pass” size=”10”><p>性别:<input type=”radio” name=”gender” value=”男”>男<input type=”radio” name=”gender” value=”女”>女<p>班级:<select name=”team”><option value=”软件061班”>软件061班</option><option value=”软件062班”>软件062班</option><option value=”软件063班”>软件063班</option><option value=”软件064班”>软件064班</option><option value=”软件065班”>软件065班</option><option value=”软件066班”>软件066班</option></select><p>爱好:<input type=”checkbox” name=”hobby” value=”文学”>文学<input type=”checkbox” name=”hobby” value=”音乐”>音乐<input type=”checkbox” name=”hobby” value=”体育”>体育<p>简介:<textarea name=”introduce” rows=”5” cols=”20”></textarea><p><input type=”submit” value=”确定”></form>五、写一个通过JDBC向数据库中的表增加数据的程序。
山东财经大学东方学院2014—2015学年第二学期期末考试《Java EE体系结构》试卷(A)(考试时间为120分钟)系部__________ 班级__________ 姓名__________ 学号__________一、单项选择题:每题1分,共15分1.下面的软件不是Web服务器的是(d)A.TomcatB.IISC.WebSphereD.Ajax2.下面的HTML元素里属于HTML的表单元素的是()A.<META>B.<SELECT>C.<LI>D.<TD>3.HTTP 1.1规范支持7种Web访问方式,其中表示提交信息,一般用于提交大数据信息或者文件,提交的内容不受长度限制,并且不会显示在浏览器地址栏的是()、A.GETB.POSTC.HEADD.TRACE4.下面的软件不属于Java的集成开发环境IDE软件的是()BeansB.TomcatC.EclipseD.JBuider5.Servlet程序是Java对CGI程序的实现,当需要使用HTTP协议操作时用户自己定义的Servlet类都要继承()类A.HttpServletB.HttpSessionBindingEventC.HttpSessionEventD.HttpServletRequest6.Servlet可以分为三类,下面哪个不是其中之一()A.简单ServletB.多态ServletC.过滤ServletD.监听Servlet7.下面技术不是属于JSP的技术的是()A.Java BeanB.EL表达式C.自定义标签D.过滤器8.下面哪个不是JSP或者Java的注释语法()A.<!—注释内容-->B.//注释C./*注释*/D.<%-- 注释--%>9.不可以与JSP中的param指令结合使用的指令是()A.jsp:includeB.jsp:useBeanC.jsp:forwardD.jsp:plugin10.一个类中只包含了属性、setter、getter方法,可以被称为简单JavaBean。
下面哪个称呼不是描述简单JavaBean()A.POJOB.VOC.DAOD.TO11.JSP中的九个内置对象中,可以取得服务器初始化参数的对象是()A.outB.sessionC.configD.exception12.在JSP中提供了四种属性的保存范围中,只在一次请求中保存,服务器跳转后依然有效的属性范围是()A.pageContextB.requestC.sessionD.application13.监听器类要实现对session的创建和销毁进行监听,需要实现的接口是()A.HttpSessionListenerB.ServletContextListenerC.ServletRequestListenerD.HttpSessionAttributeListener14.JSTL标签库中,能实现计数器的set标签在哪个标签库中?A.core标签库B.SQL标签库C.fmt标签库D.xml标签库15.定义一个标签类,可以直接的继承的类是javax.servlet.jsp.tagext包中的()类。
A.TagSupportB.HttpServletC.DynamicAttuibutesD.V ariableInfo二、填空题:每空1分,共15分1.按照是否需要访问网络,程序可以分为网络程序和非网络程序,其中网络应用程序又可分为()结构和()结构。
2.使用JSP的page指令导入java.util包中的所有类的语法是()。
3.Web开发的标准目录结构中,必须定义一个web.xml文件,该文件必须放在一个名为()的文件夹里。
4.JSP中常用的会话跟踪技术是()和()。
5.一个Filter类必须实现的接口是()。
6.自定义标签需要在下面的三个地方增加处理,分别是()、()和()。
7.JSTL 1.2版提供的标签库中,其中定义了属性管理、迭代、判断、输出等标签的库是()。
8.对于XML进行操作主要有两种标准,分别是()和()。
9.在AJAX中主要是通过()对象处理发送异步请求和处理回应的,而如果要想创建一个该类的对象必须使用()。
三、简答题:每个题5分,共30分1.HTTP协议采用的请求/应答模式,每次请求/应答的基本过程是什么?2.Web服务器与应用服务器的区别是什么?3.JSP中要应用JSP提供的JavaBean的标签来操作简单类,该类必须满足的开发要求有什么?4.简述使用DAO设计模式开发的网络项目由哪几部分组成。
5.简述MVC设计模式及其组成。
6.编写Java数据库应用的基本过程有哪些?四、程序设计题:根据题意要求设计程序,第1、3、5题10分,第2、4题5分,共40分1.已知MySQL中定义的aa数据库,其中emp表的定义由如下脚本创建。
要求使用JSP 查询该表的所有数据,通过表格的形式显示在页面上,完善下面代码:数据库创建脚本:CREA TE DA TABASE aa ;USE aa ;CREA TE TABLE emp(empno INT(4) PRIMARY KEY,ename V ARCHAR(10),job V ARCHAR(9),hiredate DA TE,sal FLOA T(7,2)) ;INSERT INTO emp (empno,ename,job,hiredate,sal) V ALUES (6060,'李兴华','经理','2001-09-16',2000.30) ;INSERT INTO emp (empno,ename,job,hiredate,sal) V ALUES (7369,'董鸣楠','销售','2003-10-09',1500.90) ;代码如下:<%@ page contentType="text/html" pageEncoding="GBK"%><%@ page import="java.sql.*"%><html><head><title>Java EE</title></head><body><%!public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;public static final String DBURL =“jdbc:mysql://localhost:3306/aa";public static final String DBUSER = "root" ;public static final String DBPASS = "123456" ;%><%Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ;%><%try{//下面为多行代码,完成数据库连接、查询操作(5分)①%><center><table border="1" width="80%"><tr><td>雇员编号</td><td>雇员姓名</td><td>雇员工作</td><td>雇员工资</td><td>雇佣日期</td></tr>//下面为多行代码,完成循环取出emp表的行记录,并显示在对应单元格的操作(5分)②</table></center><%}catch(Exception e) {System.out.println(e) ;}finally{if(rs!=null) rs.close(); //结果集关闭if(pstmt!=null) pstmt.close() ; // 操作关闭if(conn!=null) conn.close() ; // 数据库关闭}%></body></html>2.手工定义一个Cookie对象,name和value分别是“aaa”,”www”,定义保存时间为2个小时,并添加到客户端,根据要求完成代码(5分)<%@ page contentType="text/html" pageEncoding="GBK"%><html><head><title>Java EE</title></head><body><%//多行代码,完成程序功能①%></body></html>3.使用JSP和JavaBean完成一个简单注册验证程序,用户在表单中填写用户名、年龄,如果用户输入的内容正确,则进行输入内容的显示;如果输入的内容不正确,则在错误的地方进行提示,而正确的内容将继续保留下来。
根据要求完善代码:1)注册验证Bean—Register.javaimport java.util.HashMap ;import java.util.Map ;public class Register {private String name ;private String age ;private Map<String,String> errors = null ;public Register(){ = "" ;this.age = "" ;this.errors = new HashMap<String,String>() ;}public boolean isV alidate(){boolean flag = true ;// 多行代码,完成对name的验证,要求用户名必须是6~15位的字母或数字。
(3分) ①// 多行代码,完成对age的验证,要求年龄必须是数字。
(3分)②return flag ;}public String getErrorMsg(String key){String value = this.errors.get(key) ;return value==null?"":value ;}public void setName(String name){ = name ;}public void setAge(String age){this.age = age ;}public String getName(){return ;}public String getAge(){return this.age ;}}注册表单页-index.jsp<%@ page contentType="text/html" pageEncoding="GBK"%><html><head><title> Java EE </title></head><%request.setCharacterEncoding("GBK") ;%><jsp:useBean id="reg" scope="request" class="cn.mldn.lxh.demo.Register"/><form action="check.jsp" method="post">用户名:<input type="text" name="name" value="<jsp:getProperty name="reg" property="name"/>"/><% ③%><br> //表达式显示name错误信息(1分)年 龄:<input type="text" name="age" value="<jsp:getProperty name="reg" property="age"/>"/><% ④%><br> //表达式显示age错误信息(1分)<input type="submit" value="注册"><input type="reset" value="重置"></form></body></html>信息验证页—check.jsp<%@ page contentType="text/html" pageEncoding="GBK"%><html><head><title> </title></head><%request.setCharacterEncoding("GBK") ;%><jsp:useBean id="reg" scope="request" class="cn.mldn.lxh.demo.Register"/><jsp:setProperty name="reg" property="*"/><body>//多行代码,进行验证并根据验证结果跳转,成功则跳转到success.jsp,失败则返回index.jsp 提示用户错误信息(2分)⑤</body></html>成功显示页:success.jsp<%@ page contentType="text/html" pageEncoding="GBK"%><head><title> </title></head><%request.setCharacterEncoding("GBK") ;%><jsp:useBean id="reg" scope="request" class="cn.mldn.lxh.demo.Register"/><body>用户名:<jsp:getProperty name="reg" property="name"/><br>年 龄:<jsp:getProperty name="reg" property="age"/><br></body></html>4.使用Tomcat的数据库连接池,假如Tomcat的server.xml文件已经配置完毕,在JSP页面中通过该数据源取得数据库连接,代码如下:server.xml文件:<Context ><Resourcename="jdbc/mysql"auth="Container"type="javax.sql.DataSource"maxActive="100"maxIdle="30"maxWait="10000"username=“root"password=“123456"driverClassName="org.gjt.mm.mysql.Driver"url="jdbc:mysql://localhost:3306/aa"/></Context>配置web.xml<resource-ref><description>DB Connection</description><res-ref-name>jdbc/mysql</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>通过数据源取得数据库连接:<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="javax.naming.*"%><%@ page import="javax.sql.*"%><%@ page import="java.sql.*"%><html><head><title> </title></head><body><%//多行代码,通过数据池完成数据库连接(5分)①%><%=conn%><%conn.close() ; // 表示将连接放回到池之中%></body></html>5.使用监听器实现一个网站的在线人员的列表信息,当每当用户登陆成功之后,就会在列表中增加此用户名称,并通过一个JSP网页显示用户列表,如下图所示在线用户监听-OnlineUserList.javapackage org.lxh.listenerdemo ;import java.util.* ;import javax.servlet.* ;import javax.servlet.http.* ;public class OnlineUserList implements ServletContextListener, HttpSessionAttributeListener, HttpSessionListener {private ServletContext app = null ; //用于application属性操作public void contextInitialized(ServletContextEvent sce){ //上下文初始化this.app = sce.getServletContext() ; //取得ServletContext实例this.app.setAttribute(“online”,new TreeSet()) ; // 设置空集合}public void attributeAdded(HttpSessionBindingEvent se){ //增加session属性//多行代码,将用户信息增加到集合当中(3分)①}public void attributeRemoved(HttpSessionBindingEvent se){ //多行代码,将用户信息从集合当中删除(3分)②}}public void sessionDestroyed(HttpSessionEvent se){Set all = (Set) this.app.getAttribute("online") ;all.remove(se.getSession().getAttribute("userid")) ;this.app.setAttribute("online",all) ;}public void contextDestroyed(ServletContextEvent sce){}public void attributeReplaced(HttpSessionBindingEvent se){} public void sessionCreated(HttpSessionEvent se){}}配置web.xml文件<listener><listener-class>org.lxh.listenerdemo.OnlineUserList</listener-class></listener>登录页-login.jsp<%@ page contentType="text/html" pageEncoding="GBK"%><html><head><title> </title></head><body><form action="login.jsp" method="post">用户ID:<input type="text" name="userid"><input type="submit" value="登陆"></form><%String userid = request.getParameter(“userid”) ; //接收用户名if(!(userid==null || “”.equals(userid))){ //登录名不能为空//多行代码,将userid设置为session属性并跳转到list.jsp页(2分)③}%></body></html>显示用户在线-list.jsp<%@ page contentType="text/html" pageEncoding="GBK"%><%@ page import="java.util.*"%><html><head><title>,MLDN高端Java培训</title></head><body>//多行代码,从application中取出所有的用户列表并显示在页面当中(2分)④</body></html>。