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

简介: 基于OSGi的Virgo Server最简单Spring web实例 一:开发工具下载与环境搭建 1.       下载并安装JDK6u30版本,下载地址如下: http://www.

基于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


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


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

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

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

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


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

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

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


4.  项目布局如下:


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


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

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

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


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

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


目录
相关文章
|
5月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
95 4
|
6天前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中使用拦截器——拦截器使用实例
本文主要讲解了Spring Boot中拦截器的使用实例,包括判断用户是否登录和取消特定拦截操作两大场景。通过token验证实现登录状态检查,未登录则拦截请求;定义自定义注解@UnInterception实现灵活取消拦截功能。最后总结了拦截器的创建、配置及对静态资源的影响,并提供两种配置方式供选择,帮助读者掌握拦截器的实际应用。
19 0
|
3月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
126 7
Spring Boot 入门:简化 Java Web 开发的强大工具
|
5月前
|
网络协议 Windows
Windows Server 2019 Web服务器搭建
Windows Server 2019 Web服务器搭建
185 0
|
7月前
|
安全 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 授权服务器产品提供了一个安全、轻量级和可定制的基础
76 2
|
7月前
|
开发者 前端开发 Apache
Apache Wicket Ajax揭秘:轻松几步,让你的Web应用告别“呆板”,焕发新生!
【8月更文挑战第31天】随着互联网技术的发展,Web应用的交互性成为评价网站成功的关键指标。Apache Wicket作为一款卓越的Java Web框架,不仅具备强大的组件化开发能力,还内置了对Ajax技术的支持,使开发者能轻松提升Web应用的交互体验。通过简单的代码示例展示了如何在不刷新页面的情况下异步更新页面元素,极大提升了用户体验。Wicket提供了多种Ajax组件和行为,如AjaxFallbackLink、AjaxButton等,满足不同场景需求,并支持自定义Ajax行为,帮助开发者实现复杂交互效果。合理运用Wicket的Ajax功能,可显著增强网站竞争力。
92 0
|
7月前
|
Java Spring 开发者
Java Web开发新潮流:Vaadin与Spring Boot强强联手,打造高效便捷的应用体验!
【8月更文挑战第31天】《Vaadin与Spring Boot集成:最佳实践指南》介绍了如何结合Vaadin和Spring Boot的优势进行高效Java Web开发。文章首先概述了集成的基本步骤,包括引入依赖和配置自动功能,然后通过示例展示了如何创建和使用Vaadin组件。相较于传统框架,这种集成方式简化了配置、提升了开发效率并便于部署。尽管可能存在性能和学习曲线方面的挑战,但合理的框架组合能显著提升应用开发的质量和速度。
179 0
|
7月前
|
C# 开发者
全面提升开发效率:详解如何使用Blazor Server与SignalR打造实时Web应用,从零开始构建聊天室示例并掌握实时通信核心技术
【8月更文挑战第31天】提高生产力不仅关乎效率提升,更在于用更少时间完成更多任务。本文将通过具体代码示例,介绍如何结合 Blazor Server 和 SignalR 构建实时 Web 应用。从创建 Blazor 项目到添加 SignalR 支持,再到实现客户端与服务器间的实时通信,每个步骤都详细讲解。通过这一组合,C# 开发者能获得前后端一致的编程体验,轻松打造高效、响应迅速的实时应用。实时通信功能已在社交、协作等多个领域发挥重要作用,本文将助你掌握这一强大技术组合。
229 0
|
7月前
|
消息中间件 Java Kafka
Spring Boot与模板引擎:整合Thymeleaf和FreeMarker,打造现代化Web应用
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型,具有高可靠性及稳定性;RocketMQ 则是由阿里巴巴开源的高性能分布式消息队列,支持事务消息等多种特性;而 Kafka 是 LinkedIn 开源的分布式流处理平台,以其高吞吐量和良好的可扩展性著称。文中还提供了使用这三种消息队列产品的示例代码。
57 0
|
7月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志

热门文章

最新文章