我们可以在Jsp中实现界面吗? 如果是,那么如何或为什么不呢?
如果是,那么我们如何覆盖那些未实现的方法?
我们可以在jsp中扩展任何其他类吗? 如果不是,那么为什么或如何是。
如果是,那么当jsp将被转换为servlet并且servlet已经扩展了其他内容时会发生什么。
如果不是,那么<%@ page extend =“package.className”> ,这是什么意思?
感谢。
答案 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。