Я пытаюсь выяснить, как реализовать пакет веб-приложений. Для этого я создал небольшой образец, следуя инструкциям в уроке this. War-файл можно развернуть и запустить, но я не могу назвать какой-либо URL-адрес.
Структура военного файла;
+ META-INF
MANIFEST.MF
+ WEB-INF
классы/
fancyfoods/веб/SayHello.class
web.xml
index.html
Я попытался вызвать
локальный: 8080/
локальный: 8080/fancyfoods.web/index.html
локальный: 8080/fancyfoods.web/SayHello
, но я всегда получаю "Ошибка HTTP 404"
Я понятия не имею, что случилось. Нужно ли мне больше пакетов для запуска веб-приложения?Веб-приложение OSGi не работает
Лучший Regard
CUT
Здравствуйте еще раз,
спасибо за ре plies и жаль путаницу с моим неуместным ответом (я новичок в Stack Overflow). Я начал новый WAB-пример с нуля, и он все еще не работает. Чтобы проверить, работают ли службы http в целом, я впервые реализовал другой пакет (не WAB), содержащий сервлет и OSGi-компонент, который регистрирует сервлет и статические ресурсы. И это работает! Я могу вызвать html и сервлет.
Теперь вернемся к моей проблеме с моей WAB. Поскольку в примере, отличном от WAB, я предполагаю, что файл войны не в порядке.Я потратил больше времени, чтобы предоставить вам необходимую информацию (надеюсь, так).
Структура моей войны-файла:
¦---index.html
¦
+---META-INF
¦-------MANIFEST.MF
¦
+---WEB-INF
¦ web.xml
¦
+---classes
+---org
+---osgi
+---helloworld
+---wab
HelloWorldWab.class
HelloWorldWabActivator.class
HelloWorldWabComponent.class
HelloWorldWabServlet.class
MANIFEST.MF:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_09-b05 (Oracle Corporation)
Bundle-ManifestVersion: 2
Bundle-Name: org.osgi.helloworld.wab
Bundle-SymbolicName: org.osgi.helloworld.wab
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-Activator: org.osgi.helloworld.wab.HelloWorldWabActivator
Bundle-ClassPath: WEB-INF/classes
Import-Package: javax.servlet, javax.servlet.http, org.osgi.framework,
org.osgi.service.component, org.osgi.service.http, org.osgi.util.tra
cker
Export-Package: org.osgi.helloworld.wab
Web-ContextPath: /helloworld
Webapp-Context: /helloworld
Когда я начинаю & остановить сверток методы HelloWorldWabActivator вызывается как аспект.
Файл web.xml:
<web-app>
<!-- welcome file mapping -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>HelloWorldWabServlet</servlet-name>
<servlet-class>org.osgi.helloworld.wab.HelloWorldWabServletXXX</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldWabServlet</servlet-name>
<url-pattern>/HelloWorldWabServlet</url-pattern>
</servlet-mapping>
</web-app>
OSGi сервер:
START LEVEL 1
ID|State |Level|Name
0|Active | 0|System Bundle (4.2.1)
1|Active | 1|Apache Commons FileUpload (1.2.2.v20111214-1400)
2|Active | 1|Apache Commons IO (1.4.0.v20081110-1000)
3|Active | 1|Apache Felix Bundle Repository (1.6.6)
4|Active | 1|Apache Felix Configuration Admin Service (1.6.0)
5|Active | 1|Apache Felix EventAdmin (1.3.2)
6|Active | 1|Apache Felix File Install (3.2.6)
7|Active | 1|Apache Felix Gogo Command (0.12.0)
8|Active | 1|Apache Felix Gogo Runtime (0.10.0)
9|Active | 1|Apache Felix Gogo Shell (0.10.0)
10|Active | 1|Apache Felix Http Api (2.2.0)
11|Active | 1|Apache Felix Http Base (2.2.0)
12|Active | 1|Apache Felix Http Bridge (2.2.0)
13|Active | 1|Apache Felix Http Bundle (2.2.0)
14|Active | 1|Apache Felix Http Jetty (2.2.0)
15|Active | 1|Apache Felix Http Proxy (2.2.0)
16|Active | 1|Apache Felix Http Whiteboard (2.2.0)
17|Active | 1|Apache Felix Log Service (1.0.1)
18|Active | 1|Apache Felix Preferences Service (1.0.4)
19|Active | 1|Apache Felix Declarative Services (1.6.2)
20|Active | 1|Apache Felix Web Management Console (4.0.0)
21|Active | 1|JSON Implementation for Java (1.0.0.v201011060100)
22|Active | 1|org.osgi.helloworld.wab (1.0.0.qualifier)
23|Active | 1|org.osgi.helloworld.servlet (1.0.0.qualifier)
Спасибо за вашу поддержку
Если вы посмотрите на сервисы, используемые пакетом fancyfoods.web, отображается «org.osgi.service.http.HttpService» как в использовании? –