java - Scriptlet 将任意代码插入 servlet 的 _jspService 方法

标签 java jsp jakarta-ee servlets scriptlet

Scriptlets let you insert arbitrary code into servlet's _jspService method.

任何人都可以用包含代码块的示例解释此语句吗?

我了解 JSP 和 Servlet 的语法,我需要知道的是

  • 在什么情况下使用任意代码

_jspService()是JSP生命周期的一个方法,

  • servlet 的方法是什么意思?

最佳答案

JSP 实际上被容器转换为扩展 HttpServlet 的 Java 类,然后该类将像手工编码的 servlet 一样被编译和执行。

JSP 中的代码将转换为构成生成的 servlet 的 _jspService 方法的 Java 代码。因此,例如

<html>
<% String foo = "hello"; out.println(foo); %>

被容器转换成类似

void _jspService(JspWriter out) {
    out.println("<html>");
    String foo = "hello"; out.println(foo);
}

因此,无论您在 scriptlet 中写入什么代码(任意代码),最终都会出现在容器从 JSP 创建的 servlet 的 _jspService 方法中。

关于java - Scriptlet 将任意代码插入 servlet 的 _jspService 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679523/

相关文章:

java.io.IOException : Error writing to server 异常

java - 如何实现Java windows服务包装器YAJSW的停止和启动逻辑?

java - 如何操作网页的历史记录?

apache - 如何为粘性 session 配置Glassfish 4集群?

java - JPA查询优化

java.net.URI.create 异常

java - Java 中 vola 关键字的用法

html - <c :out escapeXml ="false"> and scriptlet 的 HTML 输出差异

java - 使用主键在jsp中显示mysql数据库中的所有数据

search - Indexwriter 类中的 Forcemerge 函数