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

时间:2014-12-03 14:52:02

标签: java jsp servlets extends implements

我们可以在Jsp中实现界面吗? 如果是,那么如何或为什么不呢?

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

我们可以在jsp中扩展任何其他类吗? 如果不是,那么为什么或如何是。

如果是,那么当jsp将被转换为servlet并且servlet已经扩展了其他内容时会发生什么。

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

感谢。

2 个答案:

答案 0 :(得分:0)

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

extend表示生成的servlet必须从值中指定的类扩展。但同样,你应该避免使用scriptlet。

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

更多信息:

答案 1 :(得分:0)

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

由于生成的类名不一定是标准的或直接的,因此扩展另一个JSP并不好。所以延伸几乎没有价值。

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

事实上,JSP的主要用途应该是MVC范例的View功能,其中servlet用作Controller,并调度到Vew / JSP,属性中包含data / Model。

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

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

相关问题