本例采用扩展点的方式,注册Servlet和web资源。

Step1: 建立Eclipse plugin-in工程

Step2: 新建一个Servlet类

package servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet{

/**

*

*/

private static final long serialVersionUID = 1L;

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

resp.setContentType("text/html");

resp.getWriter().println("hello");

}

}

Step3: Eclipse提示HttpServlet找不到,在MANIFEST.MF中添加对javax.servlet的依赖

后两项是扩展点中注册servlet时需要的bundle;

Step4: 在项目根目录下新建WebContent目录,并新建jsp目录,index.jsp文件

index.jsp文件

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Insert title here</title>

</head>

<body>

index...........

</body>

</html>

Step5: 在项目根目录下新建plugin.xml(在MANIFEST.MF的overview中点击Extensions链接可自动生成)

<?xml version="1.0" encoding="UTF-8"?>

<?eclipse version="3.4"?>

<plugin>

<extension point="org.eclipse.equinox.http.registry.resources">

<resource

alias="/images"

base-name="/WebContent/img"/>

</extension>

<extension point="org.eclipse.equinox.http.registry.servlets">

<servlet

alias="/hello"

class="servlet.HelloServlet"

load-on-startup="true">

</servlet>

<servlet

alias="/jsp/*.jsp"

class="org.eclipse.equinox.jsp.jasper.registry.JSPFactory:/WebContent/jsp/"/>

</extension>

</plugin>

Step6: Run Configure

新建一个OSGi Framework

取消Bundles的Target Platform, 点击Add Required Bundles:只需要添加我们需要的bundle。

注意,添加jetty

org.eclipse.equinox.http.jetty是手动添加的,其余的是add required Bundles自动添加的

Step7: run

在控制台中执行ss命令

osgi> ss

我们的bundle的状态时ACTIVE,表示已经可用;

在浏览器中,访问http://localhost/hello, http://localhost/jsp/index.jsp,http://localhost/images/1.jpg

Step8: 更新源码

更新源码时,Eclipse不会自动刷新bundle,可以通过命令update 5(5是bundle的bundleID)强制执行

Equinox Servlet相关推荐

  1. Eclipse Ganymede:深入Equinox p2(供应平台)

    http://www.infoq.com/cn/news/2008/06/eclipse-ganymede-p2 P id=rf-f5>作为预定6月25日发布的Eclipse Ganymede的 ...

  2. AndroidStudio3.0无法打开Android Device Monitor的解决办法(An error has occurred on Android Device Monitor)...

    ---恢复内容开始--- 打开monitor时出现 An error has occurred. See the log file... ------------------------------- ...

  3. OSGI实战中的问题:Exception in org.eclipse.datatools.enablement.oda.ws.ui.Activator.start()

    今天在接触OSGI时遇到了一个问题,弄了好久才搞定,特总结,以免大家出现类似情况. 友情提示:要是遇到莫名其妙的问题,最好的解决办法: 1.清空.metadata: 2.重新导工程: 3.一个Bund ...

  4. 使用 Equinox 开发 OSGi 应用程序

    开始之前 关于本教程 OSGi 是目前动态模块系统的事实上的工业标准,虽然一开始只是作为嵌入式设备和家庭网关的框架来使用,但是实际上它适用于任何需要模块化.面向服务.面向组件的应用程序.而 Equin ...

  5. maven osgi_OSGi将Maven与Equinox结合使用

    maven osgi 很长时间以来,我一直在努力理解OSGi的真正含义. 它已经存在很长时间了,但是没有多少人意识到这一点. 它被炒作是一种非常复杂的技术. 这是我为所有Java开发人员简化的尝试. ...

  6. OSGi将Maven与Equinox结合使用

    很长时间以来,我一直在努力理解OSGi的真正含义. 它已经存在很长时间了,但是没有多少人意识到这一点. 人们已经大肆宣传它是一种非常复杂的技术. 这是我为所有Java开发人员简化的尝试. 简而言之, ...

  7. OSGI(面向Java的动态模型系统)和它的实现Equinox

    equinox  报错 英 ['ikwnks; 'ekw-] 美 ['ikwnɑks] 全球发音 跟读 口语练习 n. 春分:秋分:昼夜平分点 OSGi(Open Service Gateway In ...

  8. 深入理解OSGI Equinox原理应用与最佳实践 知识整理篇

    1.OSGI框架是什么? OSGI为实现Java模块化开发,实现热插拔功能化的框架实现.可以实现类似不重启系统也可以实现添加,删除其部分功能而不会导致系统崩溃的框架实现.一个功能相当一个模块,针对模块 ...

  9. Equinox OSGi

    为什么80%的码农都做不了架构师?>>>    1.       背景信息 Equinox项目是Eclipse开源组织提供的OSGi框架的实现.Eclipse自3.0版本开始,其内核 ...

最新文章

  1. centos7添加运行终端快键键
  2. VTK:Rendering之DiffuseSpheres
  3. python学习笔记——类
  4. 第八十四节,css布局小技巧及font-awesome图标使用
  5. mysql高效sql语句_高效SQL优化 非常好用的SQL语句优化34条
  6. C语言algorithm主函数,C语言中主函数中相关有关问题?
  7. 交换机的基本配置实验报告_无线网络设计配置即实验报告
  8. Java高级编程之URL处理
  9. 利用MATLAB平台实现字的语音识别功能
  10. 关于期权的若干硬知识,知道这些就不那么担心了
  11. 典型的php系统由什么组成,完整的计算机系统由什么组成
  12. 【开源.NET】 分享一个前后端分离的轻量级内容管理框架
  13. MATLAB-多目标线性规划问题
  14. 何凯明最新一作MAE解读系列1
  15. 云控微信开发SDK使用教程--微信联系人标签新增,修改通知服务端
  16. QT Libvlc视频画面上覆盖透明控件
  17. python使用OpenCV批量裁剪图片
  18. 让你秒读懂阿里云数据库架构与选型
  19. 自带RGB灯效,配备显卡专属风道,风行者DF700 Flux上手
  20. 全连接网络实现Fashion数据集学习/预测

热门文章

  1. 电源架构--集中式电源架构/分布式电源架构
  2. excel phonetic函数连接数字不显示问题
  3. 华为比苹果更需要 AR 眼镜
  4. 分销商城小程序开发及解决方案
  5. ADSP-21489的开发详解:VDSP+自己编程写代码开发(4-按键控制 LED 灯)(含源代码)
  6. 工作效率提升技巧二:帕累托法则
  7. 西安80转换成北京独立计算机,关于坐标转换及坐标系(大地坐标、平面坐标、投影、北京54、西安80、WGS84)的一些理解...
  8. Arduino Uno基础入门01(认识Arduino)
  9. V7无线控制器WLAN本地转发配置方法
  10. iOS 关于蓝牙耳机和录音录制视频的设置