这些基本题你熟悉吗
时间:2010-08-27 来源:red_justice
5)以下哪些属于Session的方法?
A)load()B)save()C)delete()D)update()E)open()F)close() (6)以下程序的打印结果是什么?(单选)
tx = session.beginTransaction();Customer c1=(Customer)session.load(Customer.class,new Long(1));Customer c2=(Customer)session.load(Customer.class,new Long(1));System.out.println(c1==c2);tx.commit();session.close();
A)运行出错,抛出异常B)打印falseC)打印true (7)以下程序代码对Customer的name属性修改了两次:tx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class,new Long(1));customer.setName(\"Jack\");customer.setName(\"Mike\");tx.commit();
执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)
A)0 B)1 C)2 D)3 (8)在持久化层,对象分为哪些状态?(多选)
A)临时状态B)独立状态C)游离状态D)持久化状态 (9)对于以下程序,Customer对象在第几行变为持久化状态?(单选)
Customer customer=new Customer(); //line1customer.setName(\"Tom\"); //line2Session session1=sessionFactory.openSession(); //line3Transaction tx1 = session1.beginTransaction(); //line4session1.save(customer); //line4tx1.commit(); //line5session1.close(); //line6
A) line1 B)line2 C)line3 D)line4 E)line5 F)line6 (10)对于以下程序,Customer对象在第几行变为游离状态?(单选)
Customer customer=new Customer(); //line1customer.setName(\"Tom\"); //line2Session session1=sessionFactory.openSession(); //line3Transaction tx1 = session1.beginTransaction(); //line4session1.save(customer); //line4tx1.commit(); //line5session1.close(); //line6
A) line1 B)line2 C)line3 D)line4 E)line5 F)line6 (11)以下哪一种检索策略利用了外连结查询?(单选)
A)立即检索 B)延迟检索 C)迫切左外连结检索 (12)假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(单选)
Session session=sessionFactory.openSession();tx = session.beginTransaction();Customer customer=(Customer)session.get(Customer.class,new Long(1));tx.commit();session.close();Iterator orderIterator=customer.getOrders().iterator();
A)编译出错 B)编译通过,并正常运行 C)编译通过,但运行时抛出异常 (13)关于HQL与SQL,以下哪些说法正确?(多选)
A)HQL与SQL没什么差别B)HQL面向对象,而SQL操纵关系数据库C)在HQL与SQL中,都包含select,insert,update,delete语句D)HQL仅用于查询数据,不支持insert,update和delete语句 (14)事务隔离级别是由谁实现的?(单选)
A)Java应用程序 B)Hibernate C)数据库系统 D)JDBC驱动程序 (15)悲观锁与乐观锁,哪个具有较好的并发性能?(单选)
A)悲观锁 B)乐观锁
答案:((5)A,B,C,D,F (6)C (7)B (8)A,C,D (9)D (10)F (11)C (12)C (13)B,D (14)C (15)B
(1)在Struts应用的视图中包含哪些组件?(多选)
选项:
(A) JSP
(B) Servlet
(C) ActionServlet
(D) Action
(E) 代表业务逻辑或业务数据的JavaBean
(F) EJB
(G) 客户化标签 (2)在Struts应用的控制器中包含哪些组件?(多选)
选项:
(A) JSP
(B) Servlet
(C) ActionServlet
(D) Action
(E)代表业务逻辑或业务数据的JavaBean
(F) EJB
(G) 客户化标签 (3)在Struts应用的模型中包含哪些组件?(多选)
选项:
(A) JSP
(B) Servlet
(C) ActionServlet
(D) Action
(E)代表业务逻辑或业务数据的JavaBean
(F) EJB
(G) 客户化标签 (4)以下代码定义了一个变量,如何输出这个变量的值?(多选)
<bean:define id=\”stringBean\” value=“helloWorld“/>
选项:
(A)<bean:write name=“stringBean\”/>
(B)<bean:write name=“helloWorld\”/>
(C)<%= stringBean%>
(D)
<% String myBean=
(String)pageContext.getAttribute(“stringBean”,PageContext.PAGE_SCOPE);
%>
<%=myBean%> (5)把静态文本放在Resource Bundle中,而不是直接在JSP文件中包含这些静态文本,有什么优点?(多选)
A)提高可维护性
B)提高可重用性
C)支持国际化
D)提高运行速度 (6)以下哪些说法是正确的?(单选)
选项:
(A)每个HTTP请求对应一个单独的ActionServlet实例
(B)对于每个请求访问HelloAction的HTTP请求,Struts框架会创建一个单独的HelloAction实例。
(C)每个子应用对应一个单独的RequestProcessor实例
(D)每个子应用对应一个单独的web.xml文件 (7)下面哪些任务是RequestProcessor完成的?(多选)
选项:
(A)把Struts配置文件信息加载到内存中
(B)把资源文件信息读入到内存中
(C)如果需要的话,创建ActionForm实例,组装数据,并进行表单验证
(D)找到匹配的Action实例,调用其execute()方法
(E)把请求转发到Action的execute()方法返回的ActionForward代表的组件。 (8)对于以下代码,HelloAction希望把请求转发给hello.jsp,在HelloAction的execute()方法中如何实现?(多选)
<action path = \”/HelloWorld\”
type = \”hello.HelloAction\”
name = \”HelloForm\”
scope = \”request\”
validate = \”true\”
input = \”/hello.jsp\”
>
<forward name=\”SayHello\” path=\”/hello.jsp\” />
</action> 选项:
(A) return (new ActionForward(mapping.getInput()));
(B) return (mapping.findForward(\”SayHello\”));
(C) return (mapping.findForward(“hello.jsp\”)); (9)对于以下这段配置ActionServlet的代码,哪些说法是正确的?(多选)
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/myconfig.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet> <!– Standard Action Servlet Mapping –>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping> 选项:
(A)Servlet容器在启动Struts应用时,会初始化这个ActionServlet。
(B) 对于所有URL中以”.do”结尾的HTTP请求,都由ActionServlet处理。
(C) 这段代码位于struts-config.xml中。
(D)这段代码位于web.xml中。 (10) 问答题:MVC是什么含义? 答案:
(1)A,G (2)B,C,D (3)E,F (4)A,D (5)A,B,C (6)C (7)C,D,E (8)A,B (9)A,B,D
(10)M表示Model(模型),V表示View(视图),C表示Controller(控制器) (1)假设在helloapp应用中有一个hello.jsp,它的文件路径如下:
%CATALINA_HOME%/webapps/helloapp/hello/hello.jsp
那么在浏览器端访问hello.jsp的URL是什么? (单选)
选项:
(A) http://localhost:8080/hello.jsp
(B) http://localhost:8080/helloapp/hello.jsp
(C) http://localhost:8080/helloapp/hello/hello.jsp (2)假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放 在什么目录下? (单选)
选项:
(A) helloapp/HelloServlet.class
(B) helloapp/WEB-INF/HelloServlet.class
(C) helloapp/WEB-INF/classes/HelloServlet.class
(D) helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class (3)假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:
<servlet>
<servlet-name> HelloServlet </servlet-name>
<servlet-class>org.javathinker.HelloServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name> HelloServlet </servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
那么在浏览器端访问HelloServlet的URL是什么? (单选)
选项:
(A) http://localhost:8080/HelloServlet
(B) http://localhost:8080/helloapp/HelloServlet
(C) http://localhost:8080/helloapp/org/javathinker/hello
(D) http://localhost:8080/helloapp/hello (4)客户请求访问HTML页面与访问Servlet有什么异同?(多选)
选项:
(A)相同:都使用HTTP协议
(B)区别:前者Web服务器直接返回HTML页面,后者Web服务器调用Servlet的方法,由Servlet动态生成HTML页面
(C)相同:前者Web服务器直接返回HTML页面,后者Web服务器直接返回Servlet的源代码。
(D)区别:后者需要在web.xml中配置URL路径。
(E)区别:前者使用HTTP协议,后者使用RMI协议。 (5)HttpServletRequest对象是由谁创建的?(单选)
选项:
(A)由Servlet容器负责创建,对于每个HTTP请求, Servlet容器都会创建一个HttpServletRequest对象
(B)由JavaWeb应用的Servlet或JSP组件负责创建,当Servlet或JSP组件响应HTTP请求时,先创建 HttpServletRequest对象 (6)从HTTP请求中,获得请求参数,应该调用哪个方法? (单选)
选项:
(A)调用HttpServletRequest对象的getAttribute()方法
(B)调用ServletContext对象的getAttribute()方法
(C)调用HttpServletRequest对象的getParameter()方法 (7)ServletContext对象是由谁创建的?(单选)
选项:
(A)由Servlet容器负责创建,对于每个HTTP请求, Servlet容器都会创建一个ServletContext对象
(B)由JavaWeb应用本身负责为自己创建一个ServletContext对象
(C)由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象 (8)jspForward1.jsp要把请求转发给jspForward2.jsp,应该在jspForward1.jsp中如何实现? (单选)
选项:
(A) <a href=“jspForward2.jsp”>jspForward2.jsp </a>
(B) <jsp:forward page=“jspForward2.jsp”> (9)当浏览器第二次访问以下JSP网页时的输出结果是什么?(单选) <!% int a=0; %>
<%
int b=0;
a++;
b++;
%> a:<%= a %> <br>
b:<%= b %> 选项:
(A) a=0 b=0
(B) a=1 b=1
(c) a=2 b=1 (10)下面哪个说法是正确的? (单选)
选项:
(A) 对于每个要求访问maillogin.jsp的HTTP请求,Servlet容器都会创建一个HttpSession对象
(B)每个HttpSession对象都有惟一的ID。
(C)JavaWeb应用程序必须负责为HttpSession分配惟一的ID (11)如果不希望JSP网页支持Session,应该如何办? (单选)
选项:
(A) 调用HttpSession的invalidate()方法
(B) <%@ page session= “false\”> (12)在标签处理类中,如何访问session范围内的共享数据? (多选)
选项:
(A)在TagSupport类中定义了session成员变量,直接调用它的getAttribute()方法即可。
(B)在标签处理类TagSupport类中定义了pageContext成员变量,先通过它的getSession()方法获得当前的 HttpSession对象,再调用HttpSession对象的getAttribute()方法。
(C)pageContext.getAttribute(“attributename”,PageContext.SESSION_SCOPE) (13)在下面的选项中,哪些是TagSupport类的doStartTag()方法的有效返回值? (多选)
选项:
(A) Tag.SKIP_BODY
(B) Tag.SKIY_PAGE
(C) Tag.EVAL_BODY_INCLUDE
(D) Tag.EVAL_PAGE (14)以下代码能否编译通过,假如能编译通过,运行时得到什么打印结果?(单选)
request.setAttribute(\”count\”,new Integer(0));
Integer count = request.getAttribute(\”count\”);
选项:
A)不能编译通过 B)能编译通过,并正常运行
C) 编译通过,但运行时抛出ClassCastException
答案:
(1)C (2)D (3)D (4)A,B,D (5)A (6)C (7)C (8)B (9)C (10)B
(11)B (12)B,C (13)A,C (14)A
A)load()B)save()C)delete()D)update()E)open()F)close() (6)以下程序的打印结果是什么?(单选)
tx = session.beginTransaction();Customer c1=(Customer)session.load(Customer.class,new Long(1));Customer c2=(Customer)session.load(Customer.class,new Long(1));System.out.println(c1==c2);tx.commit();session.close();
A)运行出错,抛出异常B)打印falseC)打印true (7)以下程序代码对Customer的name属性修改了两次:tx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class,new Long(1));customer.setName(\"Jack\");customer.setName(\"Mike\");tx.commit();
执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)
A)0 B)1 C)2 D)3 (8)在持久化层,对象分为哪些状态?(多选)
A)临时状态B)独立状态C)游离状态D)持久化状态 (9)对于以下程序,Customer对象在第几行变为持久化状态?(单选)
Customer customer=new Customer(); //line1customer.setName(\"Tom\"); //line2Session session1=sessionFactory.openSession(); //line3Transaction tx1 = session1.beginTransaction(); //line4session1.save(customer); //line4tx1.commit(); //line5session1.close(); //line6
A) line1 B)line2 C)line3 D)line4 E)line5 F)line6 (10)对于以下程序,Customer对象在第几行变为游离状态?(单选)
Customer customer=new Customer(); //line1customer.setName(\"Tom\"); //line2Session session1=sessionFactory.openSession(); //line3Transaction tx1 = session1.beginTransaction(); //line4session1.save(customer); //line4tx1.commit(); //line5session1.close(); //line6
A) line1 B)line2 C)line3 D)line4 E)line5 F)line6 (11)以下哪一种检索策略利用了外连结查询?(单选)
A)立即检索 B)延迟检索 C)迫切左外连结检索 (12)假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(单选)
Session session=sessionFactory.openSession();tx = session.beginTransaction();Customer customer=(Customer)session.get(Customer.class,new Long(1));tx.commit();session.close();Iterator orderIterator=customer.getOrders().iterator();
A)编译出错 B)编译通过,并正常运行 C)编译通过,但运行时抛出异常 (13)关于HQL与SQL,以下哪些说法正确?(多选)
A)HQL与SQL没什么差别B)HQL面向对象,而SQL操纵关系数据库C)在HQL与SQL中,都包含select,insert,update,delete语句D)HQL仅用于查询数据,不支持insert,update和delete语句 (14)事务隔离级别是由谁实现的?(单选)
A)Java应用程序 B)Hibernate C)数据库系统 D)JDBC驱动程序 (15)悲观锁与乐观锁,哪个具有较好的并发性能?(单选)
A)悲观锁 B)乐观锁
答案:((5)A,B,C,D,F (6)C (7)B (8)A,C,D (9)D (10)F (11)C (12)C (13)B,D (14)C (15)B
(1)在Struts应用的视图中包含哪些组件?(多选)
选项:
(A) JSP
(B) Servlet
(C) ActionServlet
(D) Action
(E) 代表业务逻辑或业务数据的JavaBean
(F) EJB
(G) 客户化标签 (2)在Struts应用的控制器中包含哪些组件?(多选)
选项:
(A) JSP
(B) Servlet
(C) ActionServlet
(D) Action
(E)代表业务逻辑或业务数据的JavaBean
(F) EJB
(G) 客户化标签 (3)在Struts应用的模型中包含哪些组件?(多选)
选项:
(A) JSP
(B) Servlet
(C) ActionServlet
(D) Action
(E)代表业务逻辑或业务数据的JavaBean
(F) EJB
(G) 客户化标签 (4)以下代码定义了一个变量,如何输出这个变量的值?(多选)
<bean:define id=\”stringBean\” value=“helloWorld“/>
选项:
(A)<bean:write name=“stringBean\”/>
(B)<bean:write name=“helloWorld\”/>
(C)<%= stringBean%>
(D)
<% String myBean=
(String)pageContext.getAttribute(“stringBean”,PageContext.PAGE_SCOPE);
%>
<%=myBean%> (5)把静态文本放在Resource Bundle中,而不是直接在JSP文件中包含这些静态文本,有什么优点?(多选)
A)提高可维护性
B)提高可重用性
C)支持国际化
D)提高运行速度 (6)以下哪些说法是正确的?(单选)
选项:
(A)每个HTTP请求对应一个单独的ActionServlet实例
(B)对于每个请求访问HelloAction的HTTP请求,Struts框架会创建一个单独的HelloAction实例。
(C)每个子应用对应一个单独的RequestProcessor实例
(D)每个子应用对应一个单独的web.xml文件 (7)下面哪些任务是RequestProcessor完成的?(多选)
选项:
(A)把Struts配置文件信息加载到内存中
(B)把资源文件信息读入到内存中
(C)如果需要的话,创建ActionForm实例,组装数据,并进行表单验证
(D)找到匹配的Action实例,调用其execute()方法
(E)把请求转发到Action的execute()方法返回的ActionForward代表的组件。 (8)对于以下代码,HelloAction希望把请求转发给hello.jsp,在HelloAction的execute()方法中如何实现?(多选)
<action path = \”/HelloWorld\”
type = \”hello.HelloAction\”
name = \”HelloForm\”
scope = \”request\”
validate = \”true\”
input = \”/hello.jsp\”
>
<forward name=\”SayHello\” path=\”/hello.jsp\” />
</action> 选项:
(A) return (new ActionForward(mapping.getInput()));
(B) return (mapping.findForward(\”SayHello\”));
(C) return (mapping.findForward(“hello.jsp\”)); (9)对于以下这段配置ActionServlet的代码,哪些说法是正确的?(多选)
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/myconfig.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet> <!– Standard Action Servlet Mapping –>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping> 选项:
(A)Servlet容器在启动Struts应用时,会初始化这个ActionServlet。
(B) 对于所有URL中以”.do”结尾的HTTP请求,都由ActionServlet处理。
(C) 这段代码位于struts-config.xml中。
(D)这段代码位于web.xml中。 (10) 问答题:MVC是什么含义? 答案:
(1)A,G (2)B,C,D (3)E,F (4)A,D (5)A,B,C (6)C (7)C,D,E (8)A,B (9)A,B,D
(10)M表示Model(模型),V表示View(视图),C表示Controller(控制器) (1)假设在helloapp应用中有一个hello.jsp,它的文件路径如下:
%CATALINA_HOME%/webapps/helloapp/hello/hello.jsp
那么在浏览器端访问hello.jsp的URL是什么? (单选)
选项:
(A) http://localhost:8080/hello.jsp
(B) http://localhost:8080/helloapp/hello.jsp
(C) http://localhost:8080/helloapp/hello/hello.jsp (2)假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放 在什么目录下? (单选)
选项:
(A) helloapp/HelloServlet.class
(B) helloapp/WEB-INF/HelloServlet.class
(C) helloapp/WEB-INF/classes/HelloServlet.class
(D) helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class (3)假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:
<servlet>
<servlet-name> HelloServlet </servlet-name>
<servlet-class>org.javathinker.HelloServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name> HelloServlet </servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
那么在浏览器端访问HelloServlet的URL是什么? (单选)
选项:
(A) http://localhost:8080/HelloServlet
(B) http://localhost:8080/helloapp/HelloServlet
(C) http://localhost:8080/helloapp/org/javathinker/hello
(D) http://localhost:8080/helloapp/hello (4)客户请求访问HTML页面与访问Servlet有什么异同?(多选)
选项:
(A)相同:都使用HTTP协议
(B)区别:前者Web服务器直接返回HTML页面,后者Web服务器调用Servlet的方法,由Servlet动态生成HTML页面
(C)相同:前者Web服务器直接返回HTML页面,后者Web服务器直接返回Servlet的源代码。
(D)区别:后者需要在web.xml中配置URL路径。
(E)区别:前者使用HTTP协议,后者使用RMI协议。 (5)HttpServletRequest对象是由谁创建的?(单选)
选项:
(A)由Servlet容器负责创建,对于每个HTTP请求, Servlet容器都会创建一个HttpServletRequest对象
(B)由JavaWeb应用的Servlet或JSP组件负责创建,当Servlet或JSP组件响应HTTP请求时,先创建 HttpServletRequest对象 (6)从HTTP请求中,获得请求参数,应该调用哪个方法? (单选)
选项:
(A)调用HttpServletRequest对象的getAttribute()方法
(B)调用ServletContext对象的getAttribute()方法
(C)调用HttpServletRequest对象的getParameter()方法 (7)ServletContext对象是由谁创建的?(单选)
选项:
(A)由Servlet容器负责创建,对于每个HTTP请求, Servlet容器都会创建一个ServletContext对象
(B)由JavaWeb应用本身负责为自己创建一个ServletContext对象
(C)由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象 (8)jspForward1.jsp要把请求转发给jspForward2.jsp,应该在jspForward1.jsp中如何实现? (单选)
选项:
(A) <a href=“jspForward2.jsp”>jspForward2.jsp </a>
(B) <jsp:forward page=“jspForward2.jsp”> (9)当浏览器第二次访问以下JSP网页时的输出结果是什么?(单选) <!% int a=0; %>
<%
int b=0;
a++;
b++;
%> a:<%= a %> <br>
b:<%= b %> 选项:
(A) a=0 b=0
(B) a=1 b=1
(c) a=2 b=1 (10)下面哪个说法是正确的? (单选)
选项:
(A) 对于每个要求访问maillogin.jsp的HTTP请求,Servlet容器都会创建一个HttpSession对象
(B)每个HttpSession对象都有惟一的ID。
(C)JavaWeb应用程序必须负责为HttpSession分配惟一的ID (11)如果不希望JSP网页支持Session,应该如何办? (单选)
选项:
(A) 调用HttpSession的invalidate()方法
(B) <%@ page session= “false\”> (12)在标签处理类中,如何访问session范围内的共享数据? (多选)
选项:
(A)在TagSupport类中定义了session成员变量,直接调用它的getAttribute()方法即可。
(B)在标签处理类TagSupport类中定义了pageContext成员变量,先通过它的getSession()方法获得当前的 HttpSession对象,再调用HttpSession对象的getAttribute()方法。
(C)pageContext.getAttribute(“attributename”,PageContext.SESSION_SCOPE) (13)在下面的选项中,哪些是TagSupport类的doStartTag()方法的有效返回值? (多选)
选项:
(A) Tag.SKIP_BODY
(B) Tag.SKIY_PAGE
(C) Tag.EVAL_BODY_INCLUDE
(D) Tag.EVAL_PAGE (14)以下代码能否编译通过,假如能编译通过,运行时得到什么打印结果?(单选)
request.setAttribute(\”count\”,new Integer(0));
Integer count = request.getAttribute(\”count\”);
选项:
A)不能编译通过 B)能编译通过,并正常运行
C) 编译通过,但运行时抛出ClassCastException
答案:
(1)C (2)D (3)D (4)A,B,D (5)A (6)C (7)C (8)B (9)C (10)B
(11)B (12)B,C (13)A,C (14)A
相关阅读 更多 +