最新-java各公司面试题全集
j2ee面试知识 Jsp方面 1、jsp有哪些内置对象作用分别是什么 答JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应) request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet 正在执行的内容 out 用来传送回应的输出 config servlet的构架部件 page JSP网页本身 exception 针对错误网页,未捕捉的例外 2、jsp有哪些动作作用分别是什么 答JSP共有以下6种基本动作 jspinclude在页面被请求的时候引入一个文件。 jspuseBean寻找或者实例化一个JavaBean。 jspsetProperty设置JavaBean的属性。 jspgetProperty输出某个JavaBean的属性。 jspforward把请求转到一个新的页面。 jspplugin根据浏览器类型为Java插件生成OBJECT或EMBED标记 3、JSP中动态INCLUDE与静态INCLUDE的区别 答动态INCLUDE用jspinclude动作实现 jspinclude pageincluded.jsp true /它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 include fileincluded.htm 4、两种跳转方式分别是什么有什么区别 答有两种,分别为 jspinclude pageincluded.jsp true jspforward page nextpage.jsp/ 前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。 Servlet方面 1、说一说Servlet的生命周期 答servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 2、Servlet版本间忘了问的是哪两个版本了的不同 3、JAVA SERVLET API中forward 与redirect的区别 答前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 sendRedirect方法。 4、Servlet的基本架构 public class ServletName extends HttpServlet { public void doPostHttpServletRequest request, HttpServletResponse response throws ServletException, IOException { } public void doGetHttpServletRequest request, HttpServletResponse response throws ServletException, IOException { } } Jdbc、Jdo方面 1、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询. 答程序如下 package hello.ant; import java.sql.*; public class jdbc { String dbUrljdbcoraclethin127.0.0.11521orcl; String theUseradmin; String thePwmanager; Connection cnull; Statement conn; ResultSet rsnull; public jdbc { try{ Class.forNameoracle.jdbc.driver.OracleDriver.newInstance; c DriverManager.getConnectiondbUrl,theUser,thePw; connc.createStatement; }catchException e{ e.printStackTrace; } } public boolean cuteUpdateString sql { try { conn.cuteUpdatesql; return true; } catch SQLException e { e.printStackTrace; return false; } } public ResultSet cuteQueryString sql { rsnull; try { rsconn.cuteQuerysql; } catch SQLException e { e.printStackTrace; } return rs; } public void close { try { conn.close; c.close; } catch Exception e { e.printStackTrace; } } public static void mainString[] args { ResultSet rs; jdbc conn new jdbc; rsconn.cuteQueryselect * from test; try{ while rs.next { System.out.printlnrs.getStringid; System.out.printlnrs.getStringname; } }catchException e { e