JSP面试题以及答案(99%面试官必考必问)

JSP面试题以及答案(99%面试官必考必问)-mikechen

JSP面试题是Java面试经常被问的问题,下面详解常见的9道必考的JSP面试题及答案。

什么是JSP?它与Servlet有何不同?

JSP是JavaServer Pages的缩写,是一种用于构建动态Web页面的Java技术。

与Servlet不同,JSP允许将HTML代码与Java代码混合在同一文件中,使页面开发更容易和更具可读性。

 

JSP的生命周期是什么样的?

JSP的生命周期,包括以下阶段:

1.编译

JSP文件在第一次访问时会被编译成Servlet。

编译的过程包括三个步骤:

  • 解析JSP文件。
  • 将JSP文件转为servlet。
  • 编译servlet。

2.初始化

容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法,也就是Servlet实例化并初始化。

如果你需要执行自定义的JSP初始化任务,复写jspInit()方法就行了。

 

3.JSP执行

当JSP网页完成初始化后,JSP引擎将会调用jspService()方法,处理客户端请求。

jspService()方法:需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数 。

jspService()方法:在每个request中被调用一次并且负责产生与之相对应的response,并且它还负责产生所有7个HTTP方法的回应,比如GET、POST、DELETE等等。

 

4.销毁

在Servlet容器关闭或JSP文件被修改时销毁。

当你需要执行任何清理工作时复写jspDestroy()方法,比如:释放数据库连接或者关闭文件夹等等。

 

JSP中的指令有哪些?作用?

JSP中有三种指令:

  • <%@ page %>:用于设置页面的属性,如语言、错误页面等。
  • <%@ include %>:用于包含其他文件的内容。
  • <%@ taglib %>:用于引入自定义标签库。

什么是EL?JSP如何使用EL?

EL是一种用于访问JavaBean属性、数组、集合和映射的表达式语言。

在JSP中,可以使用${}语法来嵌入EL表达式,例如:${user.name}将访问名为user的JavaBean的name属性。

 

什么是JSTL?

JSTL是一组标签和函数,用于简化JSP页面的开发。

它包括:

1. 核心标签

2.格式化标签

3.SQL 标签

4.XML 标签

5.JSTL 函数

需要, 在jsp页面引入JSTL标签库:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 

JSP中有哪些隐含对象?作用?

JSP中有以下隐含对象:

  • request:用于存储客户端请求信息。
  • response:用于构建服务器响应。
  • out:用于向客户端输出内容。
  • session:用于存储用户会话数据。
  • application:用于存储全局应用程序数据。
  • config:用于访问Servlet配置信息。
  • pageContext:用于访问页面上下文信息。
  • page:当前JSP页面的引用。
  • exception:用于处理页面抛出的异常。

 

JSP中如何处理异常?

在JSP中,可以使用<% try { %>和<% } catch (Exception e) { %>块来处理异常。

另外:可以使用<%@ page errorPage=”error.jsp” %>来指定错误页面,以便在发生异常时进行重定向。

 

如何在JSP中使用JavaBean?

可以使用<jsp:useBean>标签来在JSP中实例化JavaBean,并使用EL表达式访问其属性和方法。

<jsp:useBean id="user" class="com.example.User" />
<p>Name: ${user.name}</p>

 

JSP的处理过程?

主要包含以下过程:

  1. 就像其他普通的网页一样,首先浏览器发送一个 HTTP 请求给服务器。
  2. Web 服务器识别出这是一个对 JSP 网页的请求,并且将该请求传递给 JSP 引擎,通过使用 URL或者 .jsp 文件来完成。
  3. JSP 引擎从磁盘中载入 JSP 文件,然后将它们转化为 Servlet。
  4. JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎。
  5. Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类。
  6. 在执行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器。
  7. Web 服务器以静态 HTML 网页的形式,将 HTTP response 返回到您的浏览器中。
  8. 最终,Web 浏览器处理 HTTP response 中动态产生的HTML网页,就好像在处理静态网页一样。

mikechen睿哥

mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复架构即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法