Eclipseを使用してサーバー上で実行するJavaプロジェクトを開発しています。Eclipseは2つのJavaプロジェクトを結合します
1)jbosswildfly
:RESTfulなサービスの数、およびMavenのPOMで構成されたJavaコードを持つ1私は2つのプロジェクトを持っています。
2)theWhoZoo-web
:もう1つは、いくつかのhtmlファイルを含むWebプロジェクトです。
私はこれらのプロジェクトをマージし、ただ一つのプロジェクトを持っていると思います。 フォルダをtheWhoZoo-web
からjbosswildfly
にコピーしようとしましたが、サーバを起動しましたが、index.html
にアクセスできません。質問
RESTfulなサービスだけでなく、index.html
が同じサーバー上でアクセスされているように、これらの二つのプロジェクトをマージするための最良の方法は、どのようなものです
?
おかげで私は、JBoss index.html
実行してみてください
UPDATEが、取得404
しかし、私はRESTfulなサービスの1呼び出し、それが返されます結果。
http://localhost:8080/jbosswildfly-1.0/category/list
しかし、
http://localhost:8080/jbosswildfly-1.0/index.html
戻り値:
14:23:31699 WARN [org.springframework.web.servlet.PageNotFound] (デフォルトタスク-4)いいえマッピングDispatcherServletのURIが [/jbosswildfly-1.0/index.html]のHTTPリクエストで見つかりました。
マイpom.xml
があります
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.0.2.Final</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<outputDirectory>webapps</outputDirectory>
<warName>ROOT</warName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<outputDirectory>deployments</outputDirectory>
<warName>ROOT</warName>
</configuration>
</plugin>
web.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
metadata-complete="false">
<!--
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
-->
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
をWebAppInitializer.java
public class WebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(AppConfig.class);
ctx.setServletContext(servletContext);
Dynamic dynamic = servletContext.addServlet("rest", new DispatcherServlet(ctx));
dynamic.addMapping("/*");
dynamic.setLoadOnStartup(1);
}
感謝を追加することができ、私はそれを試してみました。上記のUPDATEを参照して、すでに 'index.html'がありました。私は残念ながら404を得る。私はRESTfulサービスにアクセスすることができます。あなたは設定に問題があると思いますか? – Richard
'spring-mvc'を使っているようです。コントローラーを作成して' index.html'をテンプレートとして使うか、 'web.xml'の' org.springframework.web.servlet.DispatcherServlet'サーブレットマッピングを変更してくださいDispatcherServletは '.html'拡張をバイパスすることができ、コンテナはそれを直接提供することができます。 –
私の無知の事をお詫び申し上げますが、私はSpringを使ってRESTfulなサービスをフレームワーク化しています。 'index.html'を扱うために、' web.xml'ファイルに ''を追加しました(上記参照)。しかし、残念ながら変化はありません。それはあなたが意味することですか? –
Richard