前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三步学会用spring开发OSGI——(第三步:web篇)

三步学会用spring开发OSGI——(第三步:web篇)

作者头像
cloudskyme
发布2018-03-20 16:54:44
9510
发布2018-03-20 16:54:44
举报
文章被收录于专栏:cloudskymecloudskyme

接下来就是我们要创建的web工程了,为了简单,我们直接利用virgo所带的模板来新建工程,控制层使用的是spring mvc 3。

创建web工程

打开STS,新建工程,我们选择Sprinng Template Project

          图:新建spring template project

选择Spring MVC Project

        图:模板选择

向下,然后输入工程名和包名,就是我涂红的两部分

          图:输入工程名及包名

点击完成,中间可能需要下载文件,正常选择下载就可以了。

然后看我们的工程,工程结构的目录如下,其实就是一个标准的maven web工程

    图:工程结构

工程创建完成后,我们执行一下maven clean和maven install,如果没有问题,工程上的错误提示就会消失。

我们将工程加入到virgo中,其实跟其它应用服务器的处理方式是一样的,如下图:

    图:virgo部署应用

然后我们启动virgo。

当提示

                  图:virgo启动成功

说明应用已经成功启动了。

我们在浏览器中输入

http://localhost:8080/EchoSpringmvc/

就能看到可以使用的工程了。

      图:应用运行

再向下的开发其实和前边差不多,就是如何处理模块之间的关系,如何整合应用,如何划分模块。

遇到问题

1、执行maven install的时候提示java的版本过低,出现的错误如下:

代码语言:javascript
复制
1 [ERROR] Unable to locate the Javac Compiler in:
2   D:\Program Files\Java\jre6\..\lib\tools.jar
3 Please ensure you are using JDK 1.4 or above and
4 not a JRE (the com.sun.tools.javac.Main class is required).
5 In most cases you can change the location of your Java
6 installation by setting the JAVA_HOME environment variable.

解决方法:

1、在eclipse.ini文件中设置

-vm C:\Program Files\Java\jdk1.6.0_21\jre\bin\javaw.exe

注意

要在eclipse.ini文件中-startup之前设置这一行

2、window-->preferences-->java-->Installed JREs:将路径设置成jre的路径

              图:配置JDK

2、virgo中不能部署war工程,出现的错误如下:

代码语言:javascript
复制
 1 [2012-08-03 13:33:19.450] start-signalling-2           <DE0006E> Start failed for bundle 'EchoSpringmvc' version '0.0.0'. org.eclipse.virgo.kernel.deployer.core.DeploymentException: Web application failed to start
 2     at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:132)
 3     at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:247)
 4     at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:294)
 5     at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:291)
 6     at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:229)
 7     at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:143)
 8     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 9     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
10     at java.lang.Thread.run(Thread.java:662)
11 Caused by: org.eclipse.gemini.web.core.WebApplicationStartFailedException: org.eclipse.gemini.web.core.spi.ServletContainerException: Web application at '/EchoSpringmvc' failed to start. Check the logs for more details.
12     at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:108)
13     at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122)
14     ... 8 common frames omitted
15 Caused by: org.eclipse.gemini.web.core.spi.ServletContainerException: Web application at '/EchoSpringmvc' failed to start. Check the logs for more details.
16     at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:125)
17     at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:91)
18     ... 9 common frames omitted

这个需要修改virgo的配置文件,我们到virgo的安装目录的repository\ext下,找到配置文件 org.eclipse.virgo.web.properties

原来里边设定的值是WABHeaders=strict 我们将它改成WABHeaders=defaulted就应该可以部署成功了。

[源码下载]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-08-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建web工程
  • 遇到问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档