jsp - jsp_service()方法可以被重写吗?

标签 jsp servlets

我知道 jsp_service() 方法不能被重写,但我的一位 friend 说我们可以在 JSP 中使用 scriptlet 来重写该方法,并且可以在该方法中执行我们需要的任何操作。

谁能解释一下这是真的吗?

最佳答案

不是,这不是真的。

获取示例 JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

如果您检查此 JSP 生成的 Servlet。您会发现 _jspService 方法包含 HTML 代码 out.write

为什么?

由于我们在 JSP 中编写的代码将被放置在生成的 servlet 类(来自 JSP)的 _jspService() 中。意味着 _jspService() 已经由因此,如果我们尝试重写 _jspService() ,它将给出关于方法 _jspService() 已定义的编译错误。

了解更多 why jspService() cannot be overridden?

关于jsp - jsp_service()方法可以被重写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16910720/

相关文章:

java - Spring 3在jsp View 中绑定(bind)对象到表单

java - 如何在 page.redirect 从 servlet 到 jsp 上显示成功消息

java - 如何在 ODL Controller 中配置拒绝服务过滤器

java - 读取 servlet 中由用户输入的文本文件

java - 为什么我的 servlet 程序中出现空白页

java - JSP 页面导入问题。类文件放置在 WEB-INF/classes 内的包中

java - 背景图像在 html 中不起作用

java - jsp - 向 Servlet 发送请求,接收响应并打开 URL

Java Servlet 连接超时

java - 在 IntelliJ 中添加一个 servlet,说包 javax.servlet.http 不存在