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

相关文章
|
8天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
38 7
|
2月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
101 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
3月前
|
XML Java 网络架构
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
167 0
|
4月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
78 4
|
4月前
|
网络协议 Windows
Windows Server 2019 Web服务器搭建
Windows Server 2019 Web服务器搭建
142 0
|
5月前
|
前端开发 安全 Java
技术进阶:使用Spring MVC构建适应未来的响应式Web应用
【9月更文挑战第2天】随着移动设备的普及,响应式设计至关重要。Spring MVC作为强大的Java Web框架,助力开发者创建适应多屏的应用。本文推荐使用Thymeleaf整合视图,通过简洁的HTML代码提高前端灵活性;采用`@ResponseBody`与`Callable`实现异步处理,优化应用响应速度;运用`@ControllerAdvice`统一异常管理,保持代码整洁;借助Jackson简化JSON处理;利用Spring Security增强安全性;并强调测试的重要性。遵循这些实践,将大幅提升开发效率和应用质量。
89 7
|
6月前
|
Java Spring Maven
Struts 2遇见Spring:这个组合如何颠覆你的Web开发?
【8月更文挑战第31天】在现代Web开发中,Struts 2与Spring的结合使用能显著增强应用的模块化和可维护性。本文将介绍如何整合这两个框架,并提供代码示例。首先,在`pom.xml`中添加Struts 2和Spring的依赖,然后在`struts.xml`中配置Struts 2以识别Spring插件。接着,在Spring配置文件中定义bean,并在Struts 2的Action类中使用`@Autowired`注解进行自动注入。
98 0
|
6月前
|
Java 开发者 前端开发
Struts 2、Spring MVC、Play Framework 上演巅峰之战,Web 开发的未来何去何从?
【8月更文挑战第31天】在Web应用开发中,Struts 2框架因强大功能和灵活配置备受青睐,但开发者常遇配置错误、类型转换失败、标签属性设置不当及异常处理等问题。本文通过实例解析常见难题与解决方案,如配置文件中遗漏`result`元素致页面跳转失败、日期格式不匹配需自定义转换器、`&lt;s:checkbox&gt;`标签缺少`label`属性致显示不全及Action中未捕获异常影响用户体验等,助您有效应对挑战。
122 0
|
6月前
|
Java Spring
🔥JSF 与 Spring 强强联手:打造高效、灵活的 Web 应用新标杆!💪 你还不知道吗?
【8月更文挑战第31天】JavaServer Faces(JSF)与 Spring 框架是常用的 Java Web 技术。本文介绍如何整合两者,发挥各自优势,构建高效灵活的 Web 应用。首先通过 `web.xml` 和 `ContextLoaderListener` 配置 Spring 上下文,在 `applicationContext.xml` 定义 Bean。接着使用 `@Autowired` 将 Spring 管理的 Bean 注入到 JSF 管理的 Bean 中。
94 0
|
6月前
|
Java Spring Apache
Spring Boot邂逅Apache Wicket:一次意想不到的完美邂逅,竟让Web开发变得如此简单?
【8月更文挑战第31天】Apache Wicket与Spring Boot的集成提供了近乎无缝的开发体验。Wicket以其简洁的API和强大的组件化设计著称,而Spring Boot则以开箱即用的便捷性赢得开发者青睐。本文将指导你如何在Spring Boot项目中引入Wicket,通过简单的步骤完成集成配置。首先,创建一个新的Spring Boot项目并在`pom.xml`中添加Wicket相关依赖。
163 0

热门文章

最新文章