首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们可以在JSP中实现接口或扩展类吗?

问我们可以在JSP中实现接口或扩展类吗?
EN

Stack Overflow用户
提问于 2014-12-03 14:52:02
回答 2查看 3.4K关注 0票数 1

如果是的话,我们可以在中实现接口吗?

如果是,那么我们如何覆盖那些未实现的方法?

如果不是,可以扩展jsp ?中的任何其他类,如果是,为什么或者如何扩展。

如果是,那么jsp所发生的事情将转换为servlet,servlet已经扩展了其他内容。

如果不是,那么<%@ page extend="package.className">,这是什么意思?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-12-03 14:59:44

用JSP编写的所有代码都将用于为Servlet生成service方法中的代码,该Servlet的URL模式与访问您的JSP的URL匹配。除此之外,用JSP编写Java代码(称为scriptlet )被认为是一种糟糕的实践,您不应该再使用它了。

extend意味着生成的servlet必须从值中指定的类扩展。但是,您应该避免使用scriptlet。

相反,考虑使用任何Java代码(通过接口、类继承或以后可能想出的任何东西),使用MVC方法,并将所有业务逻辑转移到控制器/模型中。基本的方法是使用Servlet,另一种方法是使用像Spring或JSF这样的web框架来帮助您编写这个文档。对于必须向视图(JSP)添加动态数据的情况,可以使用表达式语言和像JSTL这样的库来解决问题。

更多信息:

票数 0
EN

Stack Overflow用户

发布于 2014-12-03 15:11:38

属性extends (而不是extend)指定了应该实现接口javax.servlet.jsp.JspPage的类。

由于生成的类名不一定是赋范的或直接的,所以扩展另一个JSP是不太好的。因此,扩展没有什么价值。

实现接口并没有提供太多的价值,因为JSP类不能被重用(扩展)。

实际上,JSP的主要用途应该是MVC范例的View功能,其中servlet充当Controller,并分发给Vew / JSP,属性中包含数据/模型。

使用POJO(普通的旧java对象)代替继承来实现一些通用功能。这样的类可以在web容器之外开发,例如编写单元测试: TDD,测试驱动开发。

还可以考虑JSP可以作为servlet转发或包含另一个servlet/JSP。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27274697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档