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

需积分: 0 0 下载量 6 浏览量 更新于2024-07-23 收藏 254KB DOC 举报
"这是一份全面的面试题集,涵盖了Java基础知识、JSP与Servlet技术、J2EE相关知识以及其他Web开发中常见的问题,旨在帮助求职者尤其是应届生准备面试,提高找到工作的可能性。" Java基础知识 1. Java的基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。String是对象,不属于基本数据类型,但常被用来处理文本,与基本类型有本质区别。 2. 字符串反转可使用StringBuilder或StringBuffer类的reverse()方法;字符串替换可以利用replace()或replaceAll()方法。 3. 数值型字符转换为数字可使用Integer.parseInt()或Double.parseDouble();数字转换为字符使用Character.getNumericValue()。四舍五入可以用DecimalFormat或Math.round()方法。 4. 获取日期和时间可通过java.util.Calendar或java.time包中的类,例如LocalDate、LocalTime等。 5. 阐述了数组和集合(如ArrayList、LinkedList、HashSet等)的区别及使用场景。 6. 文件和目录操作涉及File类的方法,如listFiles()、exists()、readFile()、writeFile()等。 7. 多态通过继承、重载(方法名相同但参数不同)和覆盖(子类重写父类方法)实现。 8. 编码转换涉及Charset类,例如用getBytes()和new String()方法进行转换。 9. 访问数据库通常通过JDBC,Statement用于执行静态SQL,PreparedStatement用于预编译SQL,更安全,能防止SQL注入。 JSP&Servlet技术 1. JSP是动态网页,侧重视图层,Servlet是Java编写的服务端程序,负责业务逻辑。两者都可处理HTTP请求,JSP更适合展现,Servlet适合处理逻辑。 2. 在HTML标记中,需要转义特殊字符,例如将"<"变为"&lt;","&"变为"&amp;"等。 3. 使用request对象读取请求参数,通过getAttribute()访问CGI变量,getPathInfo()获取JSP文件路径。 4. Cookie用于持久化客户端数据,Session用于服务器端跟踪用户状态。Cookie易丢失,Session消耗服务器资源。 5. JSP中通过include指令和<jsp:include>动作标签包含外部文件,前者在编译时包含,后者在运行时包含。 6. errorPage用于指定错误页面,全局通过web.xml配置,局部在JSP页面中设置。 7. JSP中通过<jsp:useBean>标签使用JavaBeans,提供属性和方法调用。 8. JSP标记库(JSTL)简化JSP编程,如fmt标签库用于格式化日期。 J2EE相关知识 1. J2EE(现在称为Java EE)是企业级应用平台,包含J2SE(标准版)和J2ME(微型版),提供分布式、多层架构解决方案。 2. J2EE提供EJB(Enterprise JavaBeans)、JMS(Java消息服务)、JPA(Java Persistence API)等多种技术。 3. ApplicationServer如Tomcat、JBoss、WebLogic等,提供部署、管理、事务处理、容器服务等功能。 4. 连接池优化数据库资源使用,减少创建和销毁连接的开销,提高性能。 5. web.xml是Servlet容器的部署描述符,定义应用配置、监听器、过滤器、Servlet映射等。 其他 1. Web安全性涵盖表单验证、HTTPS(SSL/TLS)加密、身份验证和授权等,确保数据传输安全。 2. MVC模式(Model-View-Controller)是软件设计模式,分离业务逻辑、数据模型和用户界面。 3. 其他面试题目可能涉及设计模式、框架(如Spring、Struts、Hibernate)、并发编程、网络协议等。 这份面试题库覆盖了广泛的Java和Web开发知识,对求职者进行全面复习和准备非常有帮助。