1、 继承接口、继承类的关键字分别是:
答:extends 、extends
2、 HTML中的form表单元素有:
<input type="text">、<input type="radio">
<input type="checkbox">、<input type="submit">
<input type="password" >、<input type="checkbox" >
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
<p>
This example cannot be edited
</p>
<textarea rows="10" cols="30">
3、 在action中如何获取request对象
答:
1)ActionContext context = ActionContext.getContext();
Map params = context.getParameters();
String username = (String) params.get("username");
2)ServletActionContext 中取
HttpServletRequest request = ServletActionContext. getRequest();
4、 Oracle字段类型CLOB和BLOB的区别是:
答:BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的
5、 java中,super、static关键字的功能和用法?static修饰的类的属性和public修饰的类的属性有什么区别?
答:构造器和方法,都用关键字super指向超类,但是用的方法不一样.方法用这个关键字去执行被重载的超类中的方法
static 可以修饰 属性 方法 内部类 自由块
static 不能修饰局部变量
static用来修饰类的属性状态,他可以不产生对象就可以使用
static 的经典用法 单态设计模式
static 修饰的属性可以直接通过类名.属性名调用,而public 修饰的需要先new ,创建类对象,通过对象.属性调用
static 修饰的属性是类对象,所有的对象均可以使用,但public修饰的属性是属于对象本身的
6、 描述下对struts2的理解
答:Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。 Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是WebWork的升级版本。
基本简要流程如下:
1、客户端浏览器发出HTTP请求。
2、根据web.xml配置,该请求被FilterDispatcher接收。
3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton。
4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。
6、返回HTTP响应到客户端浏览器
7、 JDBC中有哪几种Statement对象,各有什么作用?
答:
1)、Statement对象用于执行不带参数的简单SQL语句
2)、Prepared Statement 对象用于执行预编译SQL语句
3)、Callable Statement对象用于执行对存储过程的调用
8、 简述JAVA中JPA的概念和意义
答:JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
9、 简述spring框架的功能
答:Spring是一个开源的控制反转(Inversion of Control,IoC)和面向切面(AOP)的容器框架。它的主要目的是使现有技术更加易用,推荐编码最佳实现,从而简化企业开发
Spring 目前已经发展为一个功能丰富而易用的集成框架,其核心是一个完整的控制反转(IoC)的轻量级容器,用户可以使用他建立自己的应用程序。在容器上,Spring提供了大量实用的服务。将很多高质量的开源项目集成到统一的框架上
Spring致力于Java EE 应用的各种解决方案,而不是仅仅专注于某一层面的方案。可以说,Spring是企业应用开发的“一站式”选择,Spring贯穿表示层、业务层、持久层。然而,Spring并不想取代那些已有的框架,而以高度的开发性与他们无缝整合
10、 Hibernate中有几种实体类之间的关系?
答:1)、Hibernate多对一关联映射:就是在“多”的一端加外键,指向“一”的一端。
比如多个学生对应一个班级,多个用户对应一个级别等等,都是多对一关系。
2)、Hibernate单向的一对一主键关联映射:就是让两个实体的主键一样,就不需要加入多余的字段了。
比如一个学生对应一个身份证号,一个学生对应一条户口信息等等,都是一对一关联映射
3)、Hibernate双向一对一关联映射:有些需求要求从一端可以查到另一端,从另一端又可以查到这一端,就需要双向的关联映射。
比如说,想要根据人的信息查到他的户口信息,也想根据户口信息查到这是哪个人的信息等
4)、单向一对一唯一外键关联映射:一对一主键关联不好维护,用外键关联对象比较好。原理:多对一的特殊情况。
比如说还是Person和IdCard的例子
5)、双向一对一唯一外键关联:如果有需求要求的情况下,也可以建立双向的外键关联。
6)、Hibernate单向一对多关联映射:让一的一端维护关系,和多对一的映射原理是一样的,都是在多的一端加入一个外键指向一的一端;
11、 SQL语句中,关联查询join有几种?他们之间有什么区别?
答:1) 、inner join 内连接是最常见的一种连接,它也被称为普通连接,只连接匹配的行(仅对满足连接条件的CROSS中的列)。它又分为等值连接(连接条件运算符为"=")和不等值连接(连接条件运算符不为"=",例如between...and)。
2)、left join 返回左表的全部行和右表满足ON条件的行,如果左表的行在右表中没有匹配,那么这一行右表中对应数据用NULL代替
3)、 right join 返回右表的全部行和左表满足ON条件的行,如果右表的行在左表中没有匹配,那么这一行左表中对应数据用NULL代替
4)、full join 会从左表 和右表 那里返回所有的行。如果其中一个表的数据行在另一个表中没有匹配的行,那么对面的数据用NULL代替
5)、cross join对两个表执行笛卡尔乘积。它为左表行和右表行的每种可能的组合返回一行。返回(左表行数*右表行数)行的表。
6)、Natural join自然连接是一种特殊的等值连接,在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列
12、 假设htm页面上有一个文本框ID是txt,当焦点离开文本框时验证内容:为空或为数字时不提示,非数字时提示“请输入数字”,并清空文本框的内容,用html代码和js或者jquery写一下
答:$("#txt").blur(function(){
if(isNaN($('#txt').val()){
alert("请输入数字");
$("#txt").value="";
}
});
13、 写一个java函数(一个String参数,返回值是int),实现计算器功能,参数是0至9之间的整数加减运算,例如当输入参数为“8-6+9-5”时返回6
答:题如果引入一个第三方jar包的话,是这样
String exp="2+(7-5)*3.14159*x+sin(0)";
Scope scope=Scope.create();
Expression parsiiExpr=Parser.parse(exp);
Variable var=scope.getVariable("x");
var.setValue(X_VALUE);
double result=parsiiExpr.evaluate();
Sytem.out.println(result);
14、 假设有两个表,学会表student(id number,name varchar2(20),class_id number);班级表class(id number,name varchar2(20),stu_num number)。Student表的class_id是外键,对应class表的id字段,编写一个ORACLE的update语句,统计每个班级的人数,更新到班级表class的stu_num上
答: update class a
set stu_num=(select COUNT(*) from Student where class_id=a.id);