一,填空题
| 1) | 每个Servlet都必须实现()接口 |
| | | |
| | a) | javax.servlet.Servlet; |
| | b) | javax.servlet.HttpServlet; |
| | c) | javax.servlet.GenericServlet; |
| | d) | javax.servlet.http.Servlet; |
| 2) | 利用JavaMail API发送邮件的过程中,()能获取正确的session对象。 |
| | | |
| | a) | Session mailsession=Session.getInstance(); |
| | b) | Session mailsession=Session.getInstance(objProperties); |
| | c) | Session mailsession = request.getSession(); |
| | d) | Session mailsession= request.getInstance(objProperties); |
| 参考答案 | b |
| 3) | 下面是一JSP页面的代码,请问输出结果是(). <html> <%! int I =1; %> <% i = ++; %> <head></head> <body> <script> function display(){ if(i == 1) { alert(“Is 1”); } else if(i==2) { alert(“Is 2”); }else{ alert(“Is other”); } } display (); </script> </body> </html> |
| | | |
| | a) | 什么也不输出。 |
| | b) | 弹出内容为“Is 1”的对话框。 |
| | c) | 弹出内容为“Is 2”的对话框。 |
| | d) | 当第一次访问这个程序时,弹出一个内容为“Is other”的对话框,从第二次开始,每次访问这个程序都弹出内容为“Is 2”的对话框。 |
| | e | 当第一次访问这个程序时,弹出一个内容为“Is 1”的对话框,从第二次开始,每次访问这个程序都弹出内容为“Is 2”的对话框。 |
| 参考答案 | a |
| 4) | 下面是一JSP页面的片断代码,请问页面输出结果是(). <% StringBuffer buffer =new StringBuffer (”Hello”); buffer.append(“World”); System.out.println(buffer.toString()); %> |
| | | |
| | a) | Hello |
| | b) | World |
| | c) | HelloWorld |
| | d) | 什么也不输出 |
| 参考答案 | d |
| 5) | aa.jsp文件如下: <%! static int I=0; int j=0; %> <html> <body> <% for(;I++<2;) { out.print(j++); out.print(” “);} %> </body> </html> 两个客户依次使用浏览器浏览aa.jsp,且每个客户只浏览一次,那么,第2个客户的浏览器将显示什么? | e |
| | | | |
| | a) | 0 1 | |
| | b) | 1 2 | |
| | c) | 3 4 | |
| | d) | 5 6 | |
| | e) | 什么也没有 | |
| 6) | 如果用JSP开发一个聊天程序,不用数据库存储聊天纪录,请问聊天记录最好存储在()中。 |
| | | |
| | a) | request |
| | b) | page |
| | c) | session |
| | d) | application |
| 参考答案 | d |
| 7) | 在web.xml中,有如下代码: <session-config> <session-timeout>30</session-timeout> </session-config> 对于以下描述,正确的是: | |
| | | | b |
| | a) | 定义了默认的会话超时时长。时长为30秒。 | |
| | b) | 可以使用HttpSession接口的getMaxInactiveInterval()方法把该值取出来。 | |
| | c) | 定义了默认的会话超时时长。时长为30小时。 | |
| | d) | 可以使用Session类的getMaxInactiveInterval()方法把该值取出来。 | |
| 8) | 对于<jsp:param>标记,描述不正确的是() |
| | | |
| | a) | 一般来说,<jsp:param>是<jsp:include>、<jsp:forward>标记的子标记。 |
| | b) | 如果aa.jsp有代码:<jsp:forward page=”next.jsp”><jsp:param name=”name” value=”jb-aptech” /></jsp:forward>,则在next.jsp中可以使用request.getParameter(“name”);把属性name的值取出来。 |
| | c) | 如果aa.jsp有代码:<jsp:forward page=”next.jsp”><jsp:param name=”name” value=”jb-aptech” /></jsp:forward>,则在next.jsp中可以使用request.getAttribute(“name”);把属性name的值取出来。 |
| | d) | 如果<jsp:param>标记放在<jsp:forward>标记外,也就是不作为<jsp:forward>标记的子标记,则使用浏览器查看时会显示错误页面。 |
| 9) | aa.jsp与bb.jsp属于同一应用,在aa.jsp中使用<jsp:useBean id=”beanName” scope=”session” class=”mypackage.mybean” />标记,在bb.jsp中要把beanName这个bean对象变量所引用的对象取出来。那么对于以下描述,正确的是: | |
| | | | c |
| | a) | 在bb.jsp中仅使用代码:mybean bc = session.getAttribute(“beanName”); 取出beanName所引用的对象。 | |
| | b) | 在bb.jsp中取beanName所引用的对象前,先要使用<%@ page import=”mypackage.mybean” %>导入mypackage.mybean类。 | |
| | c) | 在bb.jsp中,对于使用session的getAttribute方法取出的beanName所引用的对象,要进行强制类型转换。 | |
| | d) | 在bb.jsp中使用session的getAttribute方法取出的对象和aa.jsp中的beanName所引用的对象无关。 | |
| 10) | 用JSP2.0表达式语法在JSP页面上正确显示10+20的结果的是()。 |
| | | |
| | a) | ${10+20} |
| | b) | ${10+20}; |
| | c) | $(10+20) |
| | d) | $(10+20); |
| 参考答案 | a |
| 11) | 编写自定义标签处理类后,需要编写一个()去描述。 |
| | | |
| | a) | .tag 文件 |
| | b) | .tld 文件 |
| | c) | .dtd文件 |
| | d) | .xml 文件 |
| 12) | 关于Tag File说法不正确的是()。 |
| | | |
| | a) | Tag File是JSP2.0新增的功能 |
| | b) | Tag File是JSP1.2增的功能 |
| | c) | Tag File 可以让网页开发人员直接使用JSP语法制作标签 |
| | d) | Tag File的扩展名可以 .tag |
| 参考答案 | b |
| 13) | 关于Servlet Filter,下列说法正确的有()。 |
| | | |
| | a) | Filter 其实就是一个Servlet |
| | b) | Filter 可以产生response |
| | c) | Filter可以在servlet被调用之前截获request |
| | d) | Filter可以用来处理统一认证,过滤不雅字句等。 |
| 参考答案 | c,d |
| 14) | 会话Bean的状态的说法正确的有(a)。 |
| | a) | 有状态会话Bean的状态是借助于序列化保存下来的 |
| | b) | 有状态会话Bean被激活后会恢复挂起前的状态 |
| | c) | 无状态会话Bean不能有属性 |
| | d) | 有状态会话Bean的所有属性在挂起的时候都会被保存下来 |
| 参考答案 | |
| 15) | 关于EJB组成部分的说法不正确的是 (ab) |
| | a) | 每一个EJB的实例对象对应于一个JNDI名字,通过JNDI名字找到相应的实例 |
| | b) | 所有EJB都包含Home接口,远程接口,Bean类三个部分 |
| | c) | Bean类必须实现远程接口中的方法 |
| | d) | 远程接口实现了RMI的Remote接口 |
| 参考答案 | |
| 16) | 下列关于RMI远程接口定义正确的是 d |
| | | |
| | a) | public interface Demo {public long test() throws java.rmi.RemoteException;} |
| | b) | Public interface Demo extends Remote {public long test() } |
| | c) | interface Demo extends Remote {public long test() throws java.rmi.RemoteException;} |
| | d) | public interface Demo extends Remote {public long test() throws java.rmi.RemoteException;} |
| 参考答案 | |
| 17) | 下列选项中能获得UserTransaction的是ab |
| | | |
| | a) | 通过上下文的.getUserTransaction()方法拿到UserTransaction |
| | b) | 通过查找JNDI名为javax.transaction.UserTransaction的拿到UserTransaction |
| | c) | new 一个UserTransaction对象 |
| | d) | 不需要实例化,直接使用接口中的方法即可 |
| 参考答案 | |
| 18) | 关于事务,下列说法不正确的事 a |
| | | |
| | a) | EJB支持平面式和嵌入式两种事务模型 |
| | b) | 平面式事务模型是指要么操作都成功,如果失败,所有操作都回滚 |
| | c) | EJB有Bean管理事务和容器管理事务两种方式 |
| | d) | BMT方式也可以使用JTA来控制事务边界 |
| 参考答案 | |
| 19) | 关于消息确认描述正确的是 ac |
| | | |
| | a) | 在创建消息会话的时候能指定消息的确认方式 |
| | b) | AUTO_ACKNOWLEDGE方式能确认之前收到的所有消息 |
| | c) | Client_ACKNOWLEDGE方式需要显示调用方法ACKNOWLEDGE方法来显式的确认消息 |
| | d) | Client_ACKNOWLEDGE方式可以确认所有的消息 |
| 参考答案 | |
| 20) | 关于消息Bean事务描述正确的是 c |
| | | |
| | a) | MDB支持RequiresNew事务方式 |
| | b) | MDB支持Mandatory事务方式 |
| | c) | NotSupported方式在容器回调OnMessage方法之后才启动事务 |
| | d) | MDB不支持Required事务属性 |
| 参考答案 | |
| 21) | 关于WSDL不正确的说法是 bc | |
| | | | a |
| | a) | 用来描述Web服务的XML文件 | |
| | b) | 全称是WEB SERVICES DEFINITION LANGUAGE | |
| | c) | 客户端调用时直接用WSDL文件中的地址就可以了 | |
| | d) | SOAP协议可以基于多种底层协议 | |
二,简答题
1:简述四种会话跟踪技术以及他们的优缺点
2:请结合轻量级框架Struts,Spring和重量级框架EJB谈谈轻量级架构和重量级架构的区别?
3:说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
4:如何给weblogic指定大小的内存?如何设定的weblogic的热启动模式(开发模式)与产品发布模式?
三,代码题
1:请写出JavaMail发送邮件的关键代码
2:设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
3:用冒泡法对10个数排序(由小到大)例如: 54,12,-6,6,22,-7,9,0,999,79
4:有一个登录页面,上面有用户名(name),密码(password)两个字段,对应数据库表User中的两个字段,请用Struts+EJB实现上述登陆场景!