Java面试必备:基础、JSP&Servlet、J2EE与安全

需积分: 0 6 下载量 58 浏览量 更新于2024-08-01 收藏 226KB DOC 举报
"这是一份全面的Java面试题集,涵盖了Java基础知识、JSP&Servlet技术、J2EE相关知识以及其他重要的话题,如Web安全性、MVC和XML。" 一、Java基础知识 Java拥有八种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。String不是基本数据类型,而是对象,基于字符数组。两者的主要区别在于基本类型是值类型,而String是引用类型,可以进行更复杂的操作,如拼接。 字符串操作包括反转和替换。反转可以通过双指针法实现,替换则可利用StringBuilder或StringBuffer类的replace方法。 数据类型间的转换通常涉及装箱与拆箱。例如,将数字转换为Integer对象使用Integer.valueOf(),反之用Integer的intValue()。四舍五入取小数点前两位可通过Math.round()配合乘除实现。 日期和时间处理,Java提供Calendar和Date类,获取年月日、时间等。毫秒数可以通过Date对象的getTime()得到。格式化日期可以使用SimpleDateFormat。 数组和集合是Java中的重要概念,数组是固定大小的,集合如ArrayList、LinkedList、HashSet等则可动态增长。 文件和目录操作涉及File类,如列出目录下所有文件、子目录,检查存在性,以及文件读写。IO流用于数据传输,如BufferedReader和FileWriter。 多态通过继承、重载(方法签名不同)和覆盖(方法签名相同,重写父类方法)实现。 编码转换,如GBK到ISO-8859-1,需使用InputStreamReader和OutputStreamWriter配合相应字符集。 访问数据库,一般先建立连接,Statement用于执行静态SQL,PreparedStatement支持预编译,更安全,防止SQL注入。 二、JSP&Servlet技术 JSP是视图层,Servlet是控制层。JSP适合动态生成HTML,Servlet处理业务逻辑。HTML特殊字符需要转义,如使用`<%=`和`%>`。JSP通过request对象读取客户端请求,访问CGI变量,使用pageContext来获取真实路径。 Cookie和Session分别用于持久化用户会话数据,Cookie存储在客户端,Session在服务器端,Session更容易管理但消耗资源。JSP中通过<jsp:include>和<%@ include %>包含外部文件,前者在运行时合并,后者在编译时合并。 JSP的errorPage定义全局错误处理,JSP中通过<jsp:useBean>使用JavaBeans。 JSP标记库如JSTL简化页面编程,提供了核心、XML、SQL和函数库。 三、J2EE相关知识 J2EE是企业级应用平台,包括J2SE(标准版)和J2ME(移动版)。它提供EJB、JMS、JTA等技术。ApplicationServer如Tomcat、JBoss提供部署、管理和监控应用的服务,连接池优化数据库连接资源,web.xml是应用的部署描述符。 四、其他 Web安全性涉及表单验证、HTTP基本认证和SSL。MVC模式分离模型、视图和控制器,提高结构清晰度。XML是数据交换格式,用于配置文件、数据传输等。 这份面试题集全面地测试了Java开发者在各个领域的知识深度和广度,对于准备面试或提升技能都有很好的指导价值。