《J2EE程序设计》复习范围
一、填空
JSP页面中,输出型注释的内容写在{<!--}和{-->}之间。
MVC体系结构的实现了将{业务}逻辑和{显示}逻辑分开,有益于实现多种多样的显示。
定义一个request范围内的变量user,其值设为null,通过EL语言中{empty}运算符判断user为空。
JSP有三种指令元素,他们分别是{page}指令、{include}指令和{taglib}指令。
过滤器需要在web.xml中配置<{filter}>和<{filter-mapping}>两个元素。
Web应用关闭时,{servlet}就被销毁。
Hibernate3中引入了延迟加载特性,需要在实体类映射文件中对<property>元素设置{lazy}属性。
在JSP中使用JavaBean的标签是{<jsp:useBean>}。
EL表达式以{$}开头。
二、单选
不区分大小写比较String值是否相同,应该使用String类的哪个方法(B)?
A、 equals()
B、 equalsIgnoreCase()
C、 equalsWithoutCase()
D、 equalsNoCase()
使用SimpleDateFormat对日期进行格式化,若输出得到:2014年12月15日 18:30:05,则格式串应该为下列哪个(D)?
A、yyyy年mm月dd日hh:MM:ss
B、yyyy年MM月dd日 hh:mm:ss
C、yyyy年mm月dd日HH:MM:ss
D、yyyy年MM月dd日 HH:mm:ss
在HTML的表格标签中,用(B)标签表示表格中的一列。
A、<tr>
B、<td>
C、<tbody>
D、<row>
Hibernate3中引入了延迟加载特性,要使用该特性需要在配置实体类的映射文件时对<property>元素设置以下哪个属性(C)?
A. delay="true"
B. defer="true"
C. lazy="true"
D. postpone="true"
在JSP文件中要引入类java.sql.Connection的正确语法是(D)。
A.<%@ page class="java.sql.Connection" %>
B.<%@ page contentType="java.sql.Connection" %>
C.<%@ page include="java.sql.Connection" %>
D.<%@ page import="java.sql.Connection" %>
Struts2中的Action原则上不用继承任何类,但如果Action继承了(A)类,则可以使控制器的功能更加强大。
A.com.opensymphony.xwork2.ActionSupport
B.org.apache.struts2.interceptor.SessionAware
C.javax.servlet.http.HttpServletRequest
D.net.sf.json.JSONObject
在一个JSP文件中要包含另一个JSP文件:top.jsp的正确语法是( C )。
A. <%# include file="top.jsp"%>
B. <%$ include file="top.jsp"%>
C. <%@ include file="top.jsp"%>
D. <%! include file="top.jsp"%>
在程序中加载MySql5驱动的正确语句是下列哪个( C )?
A. Class.read("com.mysql.jdbc.Driver");
B. Class.load("com.mysql.jdbc.Driver");
C. Class.forName("com.mysql.jdbc.Driver");
D. Class.getInstance("com.mysql.jdbc.Driver");
JSP中的内置对象application相当于下列哪个类型的对象?( D )
A、HttpSession
B、HttpServletResponse
C、HttpServletRequest
D、ServletContext
HTML页面上有一个ID为username的文本框(<input type="text" id="username">),用JQuery的ID选择器选择它的语句是( B )。
A. # ( '$username')
B. $( '#username')
C. ${ 'username'}
D. %( 'username')
以下哪条语句能够将session中的属性删除? ( C )
A、session.unbind(″key″)
B、session.remove(″key″)
C、session.removeAttribute(″key″)
D、session.deleteAttribute(″key″)
表达式${18<=18?18:9}的值是( A )
A、18
B、9
C、true
D、false
在JSP页面中输出一个session范围内的属性name的值的语法是:<%=session.getAttribute("name")%>,若改为用EL输出该值的语法是(B)。
A. %{sessionScope.name}
B. ${sessionScope.name}
C. <c:out value="sessionScope.name" />
D. $(session.name)
如果要取得ServletContext初始参数,则可以执行的方法是( D )
A、getContextParameter( )
B、getParameter( )
C、getAttribute( )
D、getInitParameter( )
以下JSTL标签中哪个可以提供<c:choose>的备用条件(D)
A、<c:when>
B、<c:otherwise>
C、<c:param>
/
在Spring中,哪个类是工厂模式的一个实现,它使用IoC将应用配置和依赖说明从实际的应用代码中分离出来。(C)
A. DependencyFactory
B. ApplicationFactory
C. BeanFactory
D. InjectionFactory
以下不是EL内置对象的是( B )
A、param
B、request
C、pageContext
D、cookie
三、判断
LinkedList类实现了List接口,它适合用来进行快速的随机访问,但增加和移除元素的速度较慢。(错)
JDBC给开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编0.0-+数据库应用程序。(对)
Spring的核心是个轻量级容器,它实现了IoC模式,基于此核心容器所建立的应用程序可以达到程序组件的紧密耦合。(错)
Hibernate中的SessionFactory是轻量级的,它占用资源比较少,一个项目通常会用到很多个SessionFactory。(错)
在使用JDBC编程时,为了提高代码的可读性、可维护性以及运行效率,应该尽量使用PreparedStatement代替Statement。(对)
使用Hibernate查询时应该使用HQL,也可以使用原生的SQL。(错)
Struts2中的配置文件只能有一个,不能分解成多个配置文件。(错)
四、多选
HTML中的form标签的method属性可以取得值有( AD )
A. get
B. self
C. top
D. post
以下哪些对象是JSP的内置对象?( ABC )
A、request
B、response
C、session
D、cookie
Hibernate支持级联操作,配置级联操作时cascade的取值可以为( BCD )。
A. save
B. none
C. all
D. delete
以下哪些是Hibernate的主键ID生成方式?( ABCD )
A.increment
B.sequence
C.assigned
D.identity
以下哪些是Struts2的UI标签?( BCD )
A、<s:iterator>
B、<s:radio>
C、<s:textfield>
D、<s:checkboxlist>
4
以下哪些是Struts2的非UI标签?( AB )
A. <s:iterator>
B. <s:if>
C. <s:textarea>
D. <s:radio>
在HTML的<input>标签中,可以通过指定其type属性实现以下哪些界面元素控件?( ACD )
A、提交按钮
B、多行文本输入框
C、密码输入框
D、下拉多选框
Spring的IOC容器通过Java的反射机制获取了容器中存在的Bean的配置信息,Spring容器能够通过某些规则来对Bean进行自动装配,这些规则有:( BC )。
A. byVolumn,按容量
B. byName,按名称
C. byType,按类型
D. byTime,按时间
Spring2的Bean的作用域有:(ABCD)
A、singleton
B、prototype
C、session
D、request
五、程序填空
下面是一个名字为FirstServlet.java的servlet及其在web.xml中的配置,功能是向客户端浏览器输出“hello world!!!”,请在空白处填上合适的代码。
①处填extends HttpServletRequest
②处填out=resp.getWriter()
③处填doGet(req,resp)
④处填com.ch02.FirstServlet
⑤处填first
有两个程序文件,在resparam.html中输入用户名,提交后跳转到resparam.jsp,在resparam.jsp页面中显示用户名,请在空白处填上合适的代码。
①处填resparam.jsp
②处填text
③处填submit
④处填getParameter
⑤处填name
六、编程填
请编写一个名字为calculator.jsp的程序,该程序实现如图所示的简易加法器。在输入完“加数”和“被加数”后,按“提交答案”按钮,结果将显示在“答案”文本框中;单击“重新输入”按钮,“加数”、“被加数”和“答案”文本框中的内容被清除,等待重新输入“加数”和“被加数”。
calculator.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP'calculator.jsp' starting page</title>
</head>
<body>
<%
String add1 ="";
String add2 = "";
int aws = 0;
add1 = request.getParameter("addition1");
add2 = request.getParameter("addition2");
String outs="";
if(add1!=null && !add1.trim().equals("") && add2!=null && !add2.trim().
equals("")){
try{
aws = Integer.parseInt(add1)+Integer.parseInt(add2);
outs = String.valueOf(aws);
}catch(Exception ex){
outs="您输入的不是有效数字!";
}
}
if(add1==null||add2==null) {
add1 ="";
add2 = "";
}
%>
<h1>简易加法器</h1>
<form action="calculator.jsp" method="post">
请输入两个加数:
<input type="text" name="addition1" value=<%=add1 %>>+
<input type="text" name="addition2" value=<%=add2 %>><br>
答案:<input type="text" name="answer" value=<%=outs %>><br>
<input type="submit" value="提交答案">
<input type="reset" value="重新输入">
</form>
</body>
</html>