0 0

JSP如何实现模版,插件和挂件?5

有些网站可以让其他开发者为它开发插件和挂件,我一直很好奇这个是什么原理呢?大哥们说几个关键字,好让我自己回去琢磨琢磨.
之前用过php的商城系统 shopnc,它不是开源的,不过可以实现插件的安装,禁用等等..主题的更换.
感谢您的回复
JSP 
2012年10月08日 09:08

1个答案 按时间排序 按投票排序

0 0

以java语言举例来说吧。要想实现插件,基本要符合下面几点要求:
1.宿主系统需要提供对外公开的接口(interface),插件系统创建自己的class,并且要实现公开的interface

public interface PluginClassInterface{
    public void play();
    public void stop();
}

public PluginClass1 implements PluginClassInterface{
    public void play(){
        System.out.println("play");
    }

    public void stop(){
        System.out.println("stop");
    }
}


2.宿主系统需要动态加载插件,java中可以通过下面的方式来加载并实例化对象
Class clazz = Class.forName("my.plugin.PluginClass1");
PluginClassInterface obj = (PluginClassInterface)clazz.newInstance();
obj.play();
obj.stop();


3.为了避免硬编码,宿主系统一般提供一个xml配置文件,把插件相关的信息配置在配置文件中,这样可以根据配置去加载指定的插件,比如:

plugin.xml

<plugins>
    <plugin name="plugin1" classname="my.plugin.PluginClass1" />
    <plugin name="plugin2" classname="my.plugin.PluginClass2" />
</plugins>

举例来说的话,tomcat相当于一个宿主系统,servlet相当于tomcat下面的插件。
tomcat对外提供javax.servlet.Servlet接口,所有的业务servlet都要implements这个接口(当然servlet规范又为我们提供了一个抽象的HttpServlet类,我们可以extends HttpServlet)。然后业务servlet必须配置在web.xml文件中。tomcat通过读取web.xml中的信息来加载servlet,然后有request请求的时候,根据url mapping去调用指定的业务servlet中的service方法(HttpServlet类为我们实现了service方法,所以我们只需要实现doPost和doGet方法既可,service方法里面会根据request的method类型,来替我们调用doGet或者doPost方法)。

2012年10月23日 14:25

相关推荐

    jsp模板 jsp模板 jsp模板jsp模板jsp模板

    jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp...

    JAVA JSP 简单分页插件

    分页插件分页插件分页插件JAVA JSP 简单分页插件JAVA JSP 简单分页插件JAVA JSP 简单分页插件JAVA JSP 简单分页插件JAVA JSP 简单分页插件JAVA JSP 简单分页插件JAVA JSP 简单分页插件JAVA JSP 简单分页插件JAVA JSP...

    jsp实现视频播放

    在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它允许开发者将Java代码嵌入到HTML...文件名为"playerweb"的压缩包可能包含了整个播放器系统的源代码,解压后可以深入研究其内部结构和实现细节。

    jsp源码3.zip???

    标题中的"jsp源码3.zip???"暗示了这是一个包含多个基于JSP技术的源代码项目的...通过分析和实践这些项目,可以学习到如何设计和实现动态Web应用,以及如何与数据库进行交互,同时也能了解不同的开发模式和最佳实践。

    jsp调用uploadify文件上传插件实现文件快速上传.rar

    jsp使用uploadify插件实现文件上传的示例,测试时将uploadify 直接导入myeclipse就能用了。  uploadify是一个与jquery和flash结合实现的上传程序,界面挺漂亮,用起来也方便,不过浏览器需要安装有Flash插件,好像...

    jsp的机试试题

    jsp可以使用servlet和jsp来实现电子商务平台的功能。 * jsp如何实现信息管理系统?jsp可以使用servlet和jsp来实现信息管理系统的功能。 九、jsp的发展前景 * jsp的发展前景是什么?jsp的发展前景包括大数据、人工...

    ireport jsp开发插件 mysql插件 sqlserver 2000 插件

    这通常涉及到利用JSP的内置脚本元素和标签库来实现动态数据展示,而IReport插件则简化了这个过程,提供了一套图形化的报表设计界面,使得非程序员也能创建和编辑报表。 "mysql插件"意味着IReport支持连接到MySQL...

    jsp源码1.zip???

    - **jsp+sql操作系统教学网站设计(论文+程序).rar**:针对教学设计的JSP网站,结合SQL实现数据存储,可能包含教学资源管理和用户交互功能。 - **JSP+SQL网上选课系统(源代码+论文+答辩PPT).rar**:提供了一个完整...

    jsp的日历插件

    1. HTML和JavaScript:构建用户界面和实现日历的交互逻辑。 2. CSS:用于美化日历组件的样式。 3. JavaScript事件监听:处理用户点击日历按钮和选择日期的事件。 4. DOM操作:动态创建和修改HTML元素以展示日历。 5....

    jsp分页 oracle 插件demo

    分页插件则可以简化这一过程,提供预定义的函数和模板,帮助开发者快速实现分页功能。 在Oracle数据库中,我们可以使用SQL查询的`ROWNUM`关键字配合`WHERE`子句来实现分页。例如,如果每页显示10条记录,我们可以...

    jsp分页插件11.2版

    `jsp分页插件11.2版`是基于Java Servlet和JSP技术的,它提供了便捷的API和标签库,使得开发者无需编写复杂的SQL查询和HTML代码,就能快速实现动态数据的分页展示。此版本主要更新了性能优化、兼容性改进和新的自定义...

    jsp源码2.zip????

    【标题】"jsp源码2.zip"所包含的是多个基于Java技术栈的Web应用程序源代码,这些项目主要使用了Java Server Pages (JSP)、Servlet、Spring、Hibernate和Struts等框架,展现了Java在Web开发中的广泛应用。这些源码...

    建站模版 jsp模版 网站模板 整套模版

    【标题】:“建站模版 jsp模版 网站模板 整套模版”这一主题涵盖了在互联网上创建网站时使用的预设计模板,特别是那些基于JavaServer Pages(JSP)技术的模板。JSP是一种动态网页开发技术,允许开发者在服务器端编写...

    实现jsp打印的控件

    标题中的“实现jsp打印的控件”就是针对这样的需求,它涉及到如何在JSP页面中添加打印功能,包括打印配置、预览和实际的打印操作。 1. **打印控件的实现原理** - 打印控件通常通过JavaScript或者Java Applet来实现...

    JSP网页模板JSP网页模板JSP网页模板

    JSP网页模板则是这种技术的一个关键组成部分,用于简化网页设计和开发流程。 **一、JSP模板基础** 1. **模板元素**:JSP模板元素包括HTML、XML或其他静态标记语言,它们定义了页面的基本结构和外观。开发者可以...

    很强大的jsp手写分页插件 实现json 等一些ajax技术 联合查询 模糊查询 条件查询

    【描述】:这篇博客介绍了一个自定义的jsp分页插件,它不仅实现了基本的分页功能,还集成了JSON和Ajax技术,以支持更丰富的交互体验。同时,它提供了联合查询、模糊查询和条件查询的能力,增强了数据检索的灵活性和...

    好看的jsp日历插件

    总的来说,"好看的jsp日历插件"如pop.js,是网页开发中一个实用的工具,它结合了JavaScript的动态性和jsp的服务器端处理能力,为用户提供了直观的日期选择体验。开发者可以灵活地集成和定制这个插件,以满足不同项目...

    JSP分页插件及其详解

    本文将详细介绍一种常用的JSP分页插件——DisplayTag,并探讨其在实现分页以及登录验证中的应用。 **DisplayTag插件** DisplayTag是一个开源的Java Web分页和表格展示库,它提供了丰富的表格样式和分页功能,极大...

    Java Jsp 调用ireport动态模板打印

    在这个场景下,我们主要讨论如何利用iReport创建动态模板,以及如何通过JSP和Java代码来调用这些模板实现热敏单的打印。 首先,我们需要了解iReport的基本使用。iReport允许开发者设计复杂的报表布局,包括表格、...

    JSP实现网站流量统计

    本资源提供了JSP实现网站流量统计的一种方法,对于学习和实践Web开发,尤其是JSP应用,具有较高的参考价值。 1. **基础概念** - **JSP生命周期**:JSP页面经过翻译、编译、初始化、服务和销毁五个阶段,其中服务...

Global site tag (gtag.js) - Google Analytics