java经典面试题(二) (一)

2014-11-24 11:39:19 · 作者: · 浏览: 13

1、两种跳转方式分别是什么 有什么区别

答:有两种,分别为:

前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。

2、JAVA SERVLET API中forward() 与redirect()的区别?

答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

3、写一段Jdbc连Oracle的程序,并实现数据查询.

答:程序如下:

package hello.ant;

import java.sql.*;

public class jdbc

{

String dbUrl=jdbc:oracle:thin:@127.0.0.1:1521:orcl;

String theUser=admin;

String thePw=manager;

Connection c=null;

Statement conn;

ResultSet rs=null;

public jdbc()

{

try{

Class.forName(oracle.jdbc.driver.OracleDriver).newInstance();

c = DriverManager.getConnection(dbUrl,theUser,thePw);

conn=c.createStatement();

}catch(Exception e){

e.printStackTrace();

}

}

public boolean executeUpdate(String sql)

{

try

{

conn.executeUpdate(sql);

return true;

}

catch (SQLException e)

{

e.printStackTrace();

return false;

}

}

public ResultSet executeQuery(String sql)

{

rs=null;

try

{

rs=conn.executeQuery(sql);

}

catch (SQLException e)

{

e.printStackTrace();

}

return rs;

}

public void close()

{

try

{

conn.close();

c.close();

}

catch (Exception e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

ResultSet rs;

jdbc conn = new jdbc();

rs=conn.executeQuery(select * from test);

try{

while (rs.next())

{

System.out.println(rs.getString(id));

System.out.println(rs.getString(name));

}

}catch(Exception e)

{

e.printStackTrace();

}

}

}

4、xml有哪些解析技术 区别是什么

答:有DOM,SAX,STAX等

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问

STAX:Streaming API for XML (StAX)

5、用jdom解析xml文件时如何解决中文问题 如何解析

答:看如下代码,用编码方式加以解决

package test;

import java.io.*;

public class DOMTest

{

private String inFile = c:\people.xml;

private String outFile = c:\people.xml;

public static void main(String args[])

{

new DOMTest();


}

public DOMTest()

{

try

{

javax.xml.parsers.DocumentBuilder builder =

javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();

org.w3c.dom.Document doc = builder.newDocument();

org.w3c.dom.Element root = doc.createElement(老师);

org.w3c.dom.Element wang = doc.createElement(王);

org.w3c.dom.Element liu = doc.createElement(刘);

wang.appendChild(doc.createTextNode(我是王老师));

root.appendChild(wang);

doc.appendChild(root);

javax.xml.transform.Transformer transformer =

javax.xml.transform.TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, gb2312);

transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, yes);

transformer.transform(new javax.xml.transform.dom.DOMSource(doc),

new

javax.xml.transform.stream.StreamResult(outFile));

}

catch (Exception e)

{

System.out.println (e.getMessage());

}

}

}

6、jsp有哪些内置对象 作用分别是什么

答:JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):

request 用户端请求,此请求会包含来自GET/POST请求的参数

response 网页传回用户端的回应

pageContext 网页的属性是在这里管理

session 与请求有关的会话期

applicati