Java面试50问,女面试官最喜欢问的居然是它!

简介: Java面试50问,女面试官最喜欢问的居然是它!

[] 什么是Java的JSP?

JavaServer Pages(JSP)是一种用于生成动态网页的技术,它是Java EE规范的一部分。JSP允许开发者将Java代码嵌入HTML页面中,这些嵌入的Java代码在服务器端执行,生成动态内容,然后将生成的HTML发送给客户端浏览器。

JSP的主要特点包括:

1. 页面结构:JSP页面的结构是基于HTML的,可以包含标准的HTML标签和JavaScript代码。

2. Java代码嵌入:JSP允许在HTML页面中嵌入Java代码片段,这些代码片段在服务器端执行。

3. 模板元素:JSP提供了几种模板元素,如JSP注释、脚本元素(脚本片段、表达式和声明)。

4. 自定义标签:JSP允许开发者创建自定义标签库,以简化页面编码和提高重用性。

5. 自动处理请求:JSP页面通常映射到一个Servlet,当请求到达时,JSP引擎自动将JSP页面编译成Servlet,然后由Servlet处理请求。

6. 生命周期:JSP页面的生命周期从编译开始,到页面被卸载结束。在生命周期的不同阶段,可以执行初始化、处理请求和销毁等操作。

7. 模型-视图-控制器(MVC):JSP通常用于实现MVC架构中的视图层,负责生成用户界面。

JSP的基本语法元素包括:

- JSP指令:用于控制JSP页面的指令,如<%@ page %>、<%@ include %>等。

- 脚本元素:

 - 脚本片段(Scriptlet):<% ... %>,用于嵌入任何Java代码。

 - 表达式(Expression):<%= ... %>,用于输出Java变量的值。

 - 声明(Declaration):<%! ... %>,用于声明变量或方法。

- 注释:

 - JSP注释:<%-- ... --%>,用于添加JSP页面的注释,这些注释不会发送给客户端。

 - HTML注释:<!-- ... -->,用于添加HTML注释,这些注释会发送给客户端。

JSP的一个简单示例:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

   <title>My JSP Page</title>

</head>

<body>

   <h1>Hello, JSP!</h1>

   <p><%= "Current time: " + new java.util.Date() %></p>

</body>

</html>

在上述示例中,JSP页面包含了HTML标签和一个JSP表达式,用于输出当前时间。

JSP为快速开发动态Web应用程序提供了一种简单而强大的方式,但它也有一些缺点,如性能问题、代码移植性差等。为了解决这些问题,许多开发者选择使用模板引擎(如Thymeleaf)或更现代的框架(如Spring MVC)。

JSP是一种在服务器端生成动态网页的技术,对于希望使用Java构建Web应用程序的开发者来说,了解JSP是非常重要的。然而,对于现代的Web开发,许多开发者也选择使用更高级的框架和库,以提高开发效率和应用程序的性能。

[] 什么是Java的EJB?

Java的EJB(Enterprise JavaBeans)是一个用于开发分布式应用程序的Java框架,它是Java EE(Java Enterprise Edition)规范的一部分。EJB提供了一种创建具有事务管理、安全性、远程访问和生命周期管理的业务逻辑组件的标准方法。

EJB的主要目标是简化企业级应用程序的开发,通过容器管理的组件(Container-Managed Components,CMC)模型,将业务逻辑与底层的基础设施和系统级服务分离。这样,开发者可以专注于实现业务逻辑,而不必处理底层的复杂性。

EJB的主要特点包括:

1. 容器管理:EJB容器负责管理EJB组件的生命周期,包括实例化、销毁、事务管理、安全性和持久性等。

2. 事务管理:EJB提供了声明式和编程式的事务管理,允许开发者在不编写复杂事务代码的情况下,控制事务的边界和行为。

3. 安全性:EJB容器提供了安全性支持,允许开发者通过声明式安全控制对EJB组件的访问。

4. 远程访问:EJB允许通过远程接口进行访问,使得客户端可以跨越网络与EJB组件交互。

5. 生命周期管理:EJB定义了明确的生命周期,包括创建、使用和销毁等阶段,容器负责管理这些生命周期事件。

6. 依赖注入:EJB 3.0及以后的版本支持依赖注入,使得组件之间的依赖关系可以自动装配。

7. 异构客户端访问:EJB组件可以通过多种方式被客户端访问,包括RMI-IIOP(CORBA)、RMI(Java)和Web服务等。

EJB有几种类型:

1. 会话Bean(Session Beans):表示业务逻辑的操作,可以是无状态(Stateless)或有状态(Stateful)。

2. 消息驱动Bean(Message Driven Beans):用于处理异步消息,通常用于消息队列。

3. 实体Bean(Entity Beans):代表数据库中的持久化数据,可以映射到数据库表。

EJB的一个简单示例:

import javax.ejb.Stateless;

@Stateless

public class MyBean {

   public void doBusinessLogic() {

       // 业务逻辑代码

   }

}

在上述示例中,MyBean是一个无状态的会话Bean。

EJB为构建企业级应用程序提供了强大的支持,但它也有一些缺点,如性能开销、复杂性等。随着Java EE的发展,EJB的使用逐渐减少,许多开发者选择使用更轻量级和更简单的技术,如Spring框架。

EJB是一种用于构建企业级Java应用程序的技术,对于希望使用Java构建复杂、可伸缩的应用程序的开发者来说,了解EJB是非常重要的。然而,对于现代的Java EE开发,许多开发者也选择使用更现代的框架和库,以提高开发效率和应用程序的性能。

相关文章
|
1天前
|
缓存 Java 数据库连接
java面试题目 强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?
【6月更文挑战第28天】在 Java 中,理解和正确使用各种引用类型(强引用、软引用、弱引用、幻象引用)对有效的内存管理和垃圾回收至关重要。下面我们详细解读这些引用类型的区别及其具体使用场景。
10 3
|
2天前
|
安全 算法 Java
java多线程面试题2019整理
java多线程面试题2019整理
|
2天前
|
负载均衡 NoSQL Dubbo
java分布式面试快问快答
java分布式面试快问快答
9 0
|
2天前
|
XML Java 数据库连接
面试必备!Java核心技术100+面试题
面试必备!Java核心技术100+面试题
|
2天前
|
算法 Java 调度
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
7 0
|
2天前
|
SQL 网络协议 Java
技术经验分享:Java不会或做错的面试题总结
技术经验分享:Java不会或做错的面试题总结
11 0
|
2天前
|
安全 Java 中间件
《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
8 0
|
2天前
|
安全 Java API
《面试专题-----经典高频面试题收集三》解锁 Java 面试的关键:深度解析并发编程基础篇高频经典面试题(第三篇)
《面试专题-----经典高频面试题收集三》解锁 Java 面试的关键:深度解析并发编程基础篇高频经典面试题(第三篇)
7 0
|
SQL 缓存 安全
Java高频面试题目
面试时面试官最常问的问题总结归纳!
111 0
JAVA高频面试题目集锦(6)
JAVA高频面试题目集锦(6)
112 0
JAVA高频面试题目集锦(6)