Scriptlet将任意代码插入到servlet的_jspService方法中

时间:2015-09-20 12:40:31

标签: java jsp java-ee servlets scriplets

  

Scriptlets允许您将任意代码插入到servlet的_jspService方法中。

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

我知道JSP和Servlets的语法内容,我需要知道的是

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

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

  • servlet的方法是什么意思?

1 个答案:

答案 0 :(得分:1)

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

您在JSP中的代码将转换为Java代码,该代码构成生成的servlet的_jspService方法。所以,例如

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

由容器转换为类似

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

因此,无论您在scriptlet中编写什么代码(任意代码),都会在JSP容器创建的servlet的_jspService方法中结束。