一尘不染

脚本可将任意代码插入servlet的_jspService方法

jsp

小脚本可让您将任意代码插入servlet的_jspService方法。

谁能用包含代码块的示例解释此语句?

我知道有关JSP和Servlet的语法知识,我需要知道的是

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

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

  • servlet的方法 是什么意思?

阅读 303

收藏
2020-06-10

共1个答案

一尘不染

实际上,容器将JSP转换为扩展HttpServlet的Java类,然后将该类完全按照手动编码的servlet的方式进行编译和执行。

您在JSP中拥有的代码将转换为Java代码,该Java代码构成了生成的servlet的_jspService方法。因此,例如

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

被容器转化成类似

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

因此,无论您写入脚本小程序中的任何代码( 任意代码 )最终都将由容器从JSP创建的servlet的_jspService方法中。

2020-06-10