基于OSGi的Virgo Server最简单Spring web实例

简介: 基于OSGi的Virgo Server最简单Spring web实例

基于OSGi的Virgo Server最简单Spring web实例


一:开发工具下载与环境搭建


1.       下载并安装JDK6u30版本,下载地址如下:


http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downlo


ads-javase6-419409.html#jdk-6u30-oth-JPR


2.       下载并安装SpringsourceTools Suite开发IDE工具版本为2.7.2.RELEASE,下载地址:


http://download.springsource.com/release/STS/2.7.2/dist/e3.7/springsource-tool-suite-


2.7.2.RELEASE-e3.7-win32-installer.exe


3.       下载并安装VirgoServer版本为3.0.2,下载地址为:


http://www.eclipse.org/downloads/download.php?file=/virgo/release/VTS/3.0.2.RE


LEASE/virgo-tomcat-server-3.0.2.RELEASE.zip


4.      下载并安装Maven工具版本为3.03, 下载地址:


http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.3-bin.zip.


5.       打开安装好的STS(SpringSource Tools Suite)工具,Menu > Help > Install New


Software > http://subclipse.tigris.org/update_1.6.x 更新安装Virgo Server插件



二:创建WebBundle项目


将VirgoServer与maven分别解压缩到D:\osgi\project\virgo_tomcat与D:\osgi\project\maven


1.       打开STS(SpringSourceTools Suite), 选择Menu->Window->Preferences->Maven->


         Installations

1339747404_7221.png


2. 根据Wizard创建一个Mavenbundle project,在选择时候选择webapp就可以成为一个web bundle项目:

1339747497_4705.png

右键选择创建好的项目,在弹出菜单中选择SpringTools -> enable OSGi


然后再次选择SpringTools -> enable incremental generation of MANIFEST.MF file


3. 启动与访问virgoserver的splash页面


在serverview中右键选择New->server,弹出如下画面:

1339747592_5916.png


选择VirgoWeb Server点击【add】按钮以后

1339747625_7254.png


点击【finish】结束配置,点击ServerView中的启动按钮,启动VirgoServer以后


在浏览器输入http://localhost:8080即可看到如下画面

1339747668_5431.png


4.  项目布局如下:

1339747755_5442.png


5.  Web.xml内容

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
 
<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <context-param>
    <param-name>contextClass</param-name>
    <param-value>
      org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext
    </param-value>
  </context-param>
  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <servlet>
    <servlet-name>gloomyfish</servlet-name>
    <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>gloomyfish</servlet-name>
    <url-pattern>/app/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
        <welcome-file>Hello.jsp</welcome-file>
    </welcome-file-list>
</web-app>

6. gloomyfish-servlet.xml内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
 
<context:component-scan base-package="com.gloomyfish.web" />
<!-- enable anntotation-driven controllers -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
 
<!-- configure FreeMarker support -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
  <property name="templateLoaderPath" value="/WEB-INF/ftl/" />
</bean>
 
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  <property name="cache" value="true" />
  <property name="suffix" value=".ftl" />
</bean>
</beans>

打包部署项目,使用Maven编译打包以后,选择配置好的Virgo Server图标,右键[Add and Remove]


在弹出的对话框中选则项目,点击add增加到Virgo Server点击finish


1339747972_3685.png


启动运行,选择绿色运行图标,启动Virgo Sever访问如下URL:


http://localhost:8080/gloomyfish, 看到效果是一个基于HTML5的太极图案,要求在支持HTML5的


浏览器上才可以看到效果如下:

1339748002_2126.png


项目打包源代码下载地址为:

http://download.csdn.net/detail/jia20003/4375418

相关文章
|
29天前
|
安全 NoSQL Java
JeecgBoot应用Spring Authorization Server
Spring Authorizaiton Server, 简称 sas,是一个授权服务器框架,提供 OAuth2.1 与 Open Connect 1.0 认证规范及其他规范的实现,它建立在 Spring Security 之上,为构建 OpenID Connect 1.0 Identity Provider 和 OAuth2 授权服务器产品提供了一个安全、轻量级和可定制的基础
38 2
|
1月前
|
Java API 数据库
【神操作!】Spring Boot打造RESTful API:从零到英雄,只需这几步,让你的Web应用瞬间飞起来!
【8月更文挑战第12天】构建RESTful API是现代Web开发的关键技术之一。Spring Boot因其实现简便且功能强大而深受开发者喜爱。本文以在线图书管理系统为例,展示了如何利用Spring Boot快速构建RESTful API。从项目初始化、实体定义到业务逻辑处理和服务接口实现,一步步引导读者完成API的搭建。通过集成JPA进行数据库操作,以及使用控制器类暴露HTTP端点,最终实现了书籍信息的增删查改功能。此过程不仅高效直观,而且易于维护和扩展。
41 1
|
27天前
|
Java Spring 开发者
Java Web开发新潮流:Vaadin与Spring Boot强强联手,打造高效便捷的应用体验!
【8月更文挑战第31天】《Vaadin与Spring Boot集成:最佳实践指南》介绍了如何结合Vaadin和Spring Boot的优势进行高效Java Web开发。文章首先概述了集成的基本步骤,包括引入依赖和配置自动功能,然后通过示例展示了如何创建和使用Vaadin组件。相较于传统框架,这种集成方式简化了配置、提升了开发效率并便于部署。尽管可能存在性能和学习曲线方面的挑战,但合理的框架组合能显著提升应用开发的质量和速度。
31 0
|
30天前
|
消息中间件 Java Kafka
Spring Boot与模板引擎:整合Thymeleaf和FreeMarker,打造现代化Web应用
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型,具有高可靠性及稳定性;RocketMQ 则是由阿里巴巴开源的高性能分布式消息队列,支持事务消息等多种特性;而 Kafka 是 LinkedIn 开源的分布式流处理平台,以其高吞吐量和良好的可扩展性著称。文中还提供了使用这三种消息队列产品的示例代码。
22 0
|
1月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
2月前
|
消息中间件 Java Kafka
Spring boot 自定义kafkaTemplate的bean实例进行生产消息和发送消息
Spring boot 自定义kafkaTemplate的bean实例进行生产消息和发送消息
89 5
|
1月前
|
XML Java 数据库
Spring5入门到实战------10、操作术语解释--Aspectj注解开发实例。AOP切面编程的实际应用
这篇文章是Spring5框架的实战教程,详细解释了AOP的关键术语,包括连接点、切入点、通知、切面,并展示了如何使用AspectJ注解来开发AOP实例,包括切入点表达式的编写、增强方法的配置、代理对象的创建和优先级设置,以及如何通过注解方式实现完全的AOP配置。
|
1月前
|
Java Spring
Spring Boot Admin 离线实例
Spring Boot Admin 离线实例
21 0
|
3月前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
39 3
|
3月前
|
Java Maven Spring
Spring中AOP最简单实例-@注解形式
Spring中AOP最简单实例-@注解形式
35 0