JavaEE职场面试题(内附答案)
一、填空题:
1、编写完一个Servlet文件需要在web.xml文件中部署该Servlet方能使用
2、HTML的注释符号是//
3、JSP的优点之一是可以使得界面显示和功能逻辑
4、<jsp:plugin>动作元素的主要作用是在客户端中运行一个Bean或显示一个Applet
5、JSP内置对象共有四种Scope,它们是page、request、session、application
6、如果你想使用Javabean设计一个网站计数器,那么该bean的scope应当设为application
7、Action是不是线程安全的如果不是有什么方式可以保证Action的线程安全如果是,说明原因不是
声明局部变量,或者扩展RequestProcessor,让每次都创建一个Action,或者在spring中用scope=" prototype"来管理
8、MVC,分析一下struts是如何实现MVC的
m: JavaBean 或结合EJB 组件或者 pojo构成c: Action 来实现
v:一组JSP 文件及其标签构成。
9、struts中的几个关键对象的作用(说说几个关键对象的作用)
Action:控制器类,ActionForm: 表单对象,DynaValidatorForm: 动态form,ActonMapping:配置文件中action节点的信息......
10、说说AOP和I0C的概念以及在spring中是如何应用的
AOP:面向方面编程,ioc: 依赖注入;声明式事务和编程式事务积极一些通用部分
11、 Hibernate有哪几种查询数据的方式hq1查询,sq1查询,条件查询
12、load ()和get ()的区别?
hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,load 默认支持延迟加载,在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,只能抛异常
0b. jectNotFoundEcception;所说的load方法抛异常是指在使用该对象的数据时,数据库中不存在该数据时抛异常,而不是在创建这个对象时。由于session中的缓存对于hibernate来说是个相当廉价的资源,所以在load时会先查一下
二、选择题:
1、用来执行( A )方法的对象被称为语句对象。
A、uteUpdate
B、JSP
C、Javabean
D、Servlet
2、从本质上讲,Servlet是( B )类。
A、public
B、Java
C、contentType
D、response
3、ejb环境变量如何调用名为ejbC的ejb ( D)
A. initCtx.lookup("java:comp/env/ejb/ejbC")
B. initCtx.lookup("java:comp/ejb/ejbC")
C. initCtx.lookup("java:comp/ejbC")
D. initCtx.lookup("java:comp/env/ejbC")
4、Servlet获得初始化参数的对象是( C)
A、Request
B、Response
C、ServletConfig
D、ServletContext
5、JSP脚本中设有变量a,输出a正确的表达式是( D)
A、<%=a;%>
B、<%a%>
C、<%=a;%>
D、<%=a%>
三、判断题:
1、include动作组件把指定文件插入正在生成的页面。√
2、可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。√
3、JSP是一种实现普通静态HTML和动态HTML混合编码的技术。√
4、JSP标准标记库是一个实现Web应用程序中常用功能的定制标记库集。√
5、表单数据的提交方法有两种,若采用Get方法,则数据由标准的输入设备读入。X
四、简答题:
1、Math.round(11.5)等于多少?Math.round(-11.5)等于多少?Math.round(-11.7)等于多少?Math.round(11.3)等于多少?
答:Math.round(11.3) 等于11
Math.round(11.5) 等于12
Math.round(-11.5) 等于-11
Math.round(-11.7) 等于-12
2、解释一下&和&&的区别?
答:&和&&都可以作为逻辑运算符,但还是有区别的,&&是短路与。
单独运行以下两行代码:
System.out.println(false & (1/0 == 0));
抛出异常System.out.println(false && (1/0 == 0));
打印出false &作为逻辑运算符时,即使第一个操作符是false,那么它仍然会计算第二个操作符。
&&短路与,如果第一个操作符为false,那么它不会再去计算第二个操作符。另外&还是一个按位与运算符,请看以下代码:
System.out.println(5 & 4); 打印出4,结果怎样计算呢?将它们转换成二进制数据,一目了然。00000101 & 00000100 = 00000100
3、解释一下int和Integer有什么区别?
答:int是原始数据类型,而Integer是引用数据类型,是int的包装类。
Java中的八种原始数据类型都有对应的包装类,boolean-- Boolean char--Character byte--Byte short--Short long--Long float--Float double--Double。
int和Integer是可以相互转换的如:
int a = 1; Integer in = new Integer(a);
Integer in = new Integer(10); int i = in.intValue();
JDK5.0
支持自动包装和自动解包,以下代码与以上完成相同的功能:
int a = 1; Integer b = a;
Integer c= new Integer(10); int d = c;