JAVAEE综合(2)

21.在JSP中不能直接使用println()方法。
<%! void doPrint(){ out.[color=red]println[/color](“hello jsp”); } %>此段代码编译错误。

22.找出下面程序中可能引起异常的代码行,并说明原因。

// 登录编号,长度在0-38间
String admin_id = session.getAttribute(“admin_id”).toString();
// 登录者权限
String admin_right = request.getParameter(“admin_right”);
// 登录者号码
String admin_no = request.getParameter(“admin_no”); if [color=red](admin_right.equals(“”))[/color]
out.println(“对不起,没有授权”);
// 登录者特别号
int admin_no = Integer.parseInt(admin_no);
// 所在组
String admin_group = admin_id.substring(38);

请将上段程序按照您的习惯重新写一下。
答: a.在if (admin_right.equals(“”))这行可能引起空指针异常,如果登录者权限的值为空时,会导致request.getParameter(“admin_right”)得到是一个空值,如果再使用这个变量时,就有可能会抛出空指针异常。
b.当登录号码的值为空时,Integer.parseInt(admin_no)也可能会抛空指针异常;
c. 当登录编号的值为空值时,String admin_group=admin_id.substring(38);也会抛出空指针异常, d. 在int admin_no = Integer.parseInt(admin_no);这行也定义了一个重名的变量admin_no
重写后:
// 登录编号,长度在0-38间
String admin_id = session.getAttribute(“admin_id”).toString();
// 登录者权限
String admin_right = request.getParameter(“admin_right”);
// 登录者号码
String admin_no = request.getParameter(“admin_no”);
// 登录者特别号
int admin_num = 0;
// 所在组
String admin_group = null;
if (“”.equals(admin_right)){
out.println(“对不起,没有授权”);
}
if(admin_no!=null){
admin_num = Integer.parseInt(admin_no);
}
if(admin_id!=null){
admin_group = admin_id.substring(38);
}

23.写出下面代码的输出结果(alert的输出)

JavaScript脚本语言的特性:
JavaScript脚本语言是一种面向浏览器的网页脚本编程语言。脚本语言有以下几个特性:
1、在客户端执行。完全在用户的计算机上运行,无须经过服务器。
2、面向对象。具有内置对象,也可以直接操作浏览器对象。
3、动态变化。可以对用户的输入作出反应,也可以直接对用户输出。
4、简单易用。JavaScript脚本语言虽然简单,但初学者也能快速掌握。
5、只能与HTML语言一起使用。要通过浏览器解释执行。

function funTouch(){
var a = 10;
var b = 20;
var c = 10;
alert(a = b);
alert(a == b);
alert(a == c);
}
答:20 true false

24.检查身份证号码正确性长度 15 或18位
答:var regx=/^[0-9]{15,18}$/;

25.前14位一般为数字末位可以为字母
答:var regx=/^\d{14}(\d|X)$/;

26.身份证号码中带有出生日期,请编写取出出生日期的函数,格式为 YYYY-MM-DD。
答:function getBirthday() {
var str = "110101195403297654";
//提取19540329
var dest = str.substring(6,10) + "-" + str.substring(10,12) + "-" + str.substring(12,14);
return dest;
}

27.完成以下操作
(1)写出打开和关闭窗口方法
(2)页面有一个下拉菜单和一个输入框,写一方法使下拉菜单值变动时输入框显示对应的值 (3)写一方法校验多选框有多少被勾选
答: 1.window.open和window.close

2. <html>
<head>
<script type="text/javascript">
function show(f){ document.getElementById ('ss').value=f; }
</script>
</head>
<body>
<select id="s" οnchange="show([color=red]this.value[/color]);">
<option id="one" value="one">
one
</option>
<option id="two" value="two">
two
</option>
<option id="three" value="three">
three
</option>
</select>
<input type="text" id="ss">
</body>

3.function isChecked(v){//多选框被选取的检查
var checkboxid=document.getElementById("checkboxid");
var count=0;
for(var i=0;i<checkboxid.length;i++){
if(checkboxid[i].checked==true){
count++;
}
}
return count;
}

28.对于Jscript,对下面片断,解释每一行的用处
1.var news=getnews();//1.把getnews()方法得到的返回值赋给变量news
2.arr=news.split("{@}");//2.把news这个字符串按@拆分的得到的数组赋给arr
3.len=arr.length;//3.把数组arr的长度赋给len变量

29.使用html实现如下的表格
<table border="1">
<tr>
<td>编码</td>
<td>姓名</td>
<td>时间</td>
</tr>
<tr>
<td>001</td>
<td>张三</td>
<td>2009-1-1</td>
</tr>
<tr>
<td>002</td>
<td>李四</td>
<td>2009-2-1</td>
</tr>
</table>

30.javascript常用的方面
答:常用于数据输入校验、页面特殊效果、AJAX等.

31.Statement,PreparedStatement,CallableStatment的区别
区别有以下几点:
(1) Statement是PreparedStatement和CallableStatement的父类;
(2)Statement是直接发送Sql语句到数据库,[color=red]事先没有进行预译[/color].
PreparedStatement会将sql进行[color=red]预编译[/color],当sql语句要重复执行时,数据库会
调用以前预编译好的sql语句,所以PreparedStatement在性能方面会更好;
(3)PreparedStatement在执行sql时,对传入的参数可以进行[color=red]强制的类型转换。[/color]以保证数据格式与底层的数据库格式一致.
(4)CallableStatement 适用与存储过程的查询表达语句

32.运行ant需要设置的环境变量有?
答:ANT_HOME、JAVA_HOME、PATH

33.解释四种会话跟踪技术?
答:隐藏表单域、URL重写,Cookie、Session。
1.隐藏表单域:<input type="hidden">,非常适合步需要大量数据存储的会话应用。 2.URL重写:URL可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对。 3.Cookie:一个Cookie是一个小的,已命名数据元素。服务器使用SET-Cookie头标将它作为HTTP响应的一部分传送到客户端,客户端被请求保存Cookie值,在对同一服务器的后续请求使用一个Cookie头标将之返回到服务器。与其它技术比较,Cookie的一个优点是在浏览器会话结束后,甚至在客户端计算机重启后它仍可以保留其值。
4.Session:使用setAttribute(String str,Object obj)方法将对象捆绑到一个会话

34.J2EE 、EJB、JDBC 是一回事吗,它们之间有什么关系?
答:不是一回事.
J2EE(Java 2 Platform,Enterprise Edition)是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性。
其中,EJB和JDBC都属于J2EE的一部分。

35.J2EE是什么?它包括哪些技术?
答:从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。适用于企业级应用的J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。
主要包括以下这些技术:
· Servlet Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
· JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
· EJB EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。
· JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。Java中的JDBC相当与Microsoft平台中的ODBC(Open Database Connectivity)。

36.数据连接池的工作机制是什么?
答:J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。
客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。
如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。
当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

37.什么是ORM?
答:对象关系映射(Object—Relational Mapping,简称ORM)是一种为了解决面向对象与面向关系数据库存在的互不匹配的现象的技术;
简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中;
本质上就是将数据从一种形式转换到另外一种形式。

38.Hibernate有哪5个核心接口?
答:[color=red]Configuration接口:[/color]
配置Hibernate,根据其启动hibernate,创建SessionFactory对象; [color=red]SessionFactory接口:[/color]
初始化Hibernate,充当数据存储源的代理,创建session对象,sessionFactory是线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级、二级缓存; [color=red]Session接口:[/color]
负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻量级、一级缓存;
[color=red] Transaction接口:[/color]
管理事务; Query和Criteria接口:执行数据库的查询。

39.JAVA中如何进行事务的处理?
答:Connection类中提供了3个事务处理方法:
setAutoCommit(Boolean autoCommit):
设置是否自动提交事务,默认为自动提交事务,即为true,通过设置false禁止自动提交事务;
commit():
提交事务;
rollback():
回滚事务。

40.说出下列配置文件是何含义:
<bean id ="testLocal" class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">
<property name="jndiName"value="Test"/>
<property name="businessInterface" value="net.greatsoft.cms.prv.test.TestLocal"/>
<bean>
答: 定义一个 bean 对应的2个初始化参数 String类型jndiName值test
String类型businessInterface 值为 net.greatsoft.cms.prv.test.TestLocal

41.请写出一段利用JDBC连接oracle数据库并执行
答:
public void testJdbc(){
Connection con = null;
PrepareStatement pstm = null;
String sql = null;
Resulet rs = null;
try{
//1.第一步骤:注册驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.第二步:获得数据库连接
con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:test","test","test");
//------------------查询----------
//第三步:创建Statement
sql = "SELECT id, tname, aname, age FORM Person_Tb1";
pstm = con.preparestatement(sql);
//第四步:执行查询语句,获得结果集
rs = pstm.executeQuery();
//第五步:处理结果集---输出结果集中保存的结果
while(rs.next()){
System.out.print("id = " + rs.getLong("id")); System.out.print(" , tname = " + rs.getString("tname")); System.out.print(" , aname = " + rs.getString("aname")); System.out.print(" , age = " + rs.getInt("age"));
}
/************************JDBC 修 改*********************/
sql = "UPDATE Person_Tbl SET age=23 WHERE id = ?";
ps = con.prepareStatement(sql);
ps.setLong(1, 88);
int rows = ps.executeUpdate();
System.out.println(rows + " rows affected.");

//
}catch(Exception e){
e.printStackTrace();
}finally{
try{
con.close();
//关闭数据库连接,以释放资源。
} catch (Exception e1)
{ }

}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值