🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Jersey

JerseyはRESTful な Web サービスの実装を支援するフレームワークのひとつ。Restlet や RestEasyにくらべ、直感的な方法で開発が可能。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

4449閲覧

Eclipse+Jerseyでサンプルアプリすら動かない

yuko-yuta

総合スコア1

Jersey

JerseyはRESTful な Web サービスの実装を支援するフレームワークのひとつ。Restlet や RestEasyにくらべ、直感的な方法で開発が可能。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/12/15 06:07

前提・実現したいこと

Rest APIを提供するウェブアプリケーションをJavaで実現しようとしています。

①EclipseからMavenプロジェクトを作成
②アーキタイプ選択ではgroupId=org.glassfish.jersey.archetypes, artifactId=jersey-quickstart-webapp, version=3.0.0を指定しています。
③出来上がったプロジェクトのひな形をTomcatに追加し、起動しました。
④GETメソッドでリソースにアクセスすると404エラーを吐き出します。

発生している問題・エラーメッセージ

localhost:8080/プロジェクト名/myresourceでGETしようとした場合

404Error

1要求されたリソース [/プロジェクト名/myresource] は利用できません。 2オリジンサーバーは、ターゲットリソースの現在の表現を見つけられなかったか、またはそれが存在することを開示するつもりはありません。

localhost:8080/プロジェクト名/webapi/myresourceでGETしようとした場合

404Error

1オリジンサーバーは、ターゲットリソースの現在の表現を見つけられなかったか、またはそれが存在することを開示するつもりはありません。

のようになってしまいます。

該当のソースコード

Java

1package com.yuta.pim; 2 3import jakarta.ws.rs.GET; 4import jakarta.ws.rs.Path; 5import jakarta.ws.rs.Produces; 6import jakarta.ws.rs.core.MediaType; 7 8/** 9 * Root resource (exposed at "myresource" path) 10 */ 11@Path("myresource") 12public class MyResource { 13 14 /** 15 * Method handling HTTP GET requests. The returned object will be sent 16 * to the client as "text/plain" media type. 17 * 18 * @return String that will be returned as a text/plain response. 19 */ 20 @GET 21 @Produces(MediaType.TEXT_PLAIN) 22 public String getIt() { 23 return "Got it!"; 24 } 25}

web.xml

<?xml version="1.0" encoding="UTF-8"?> <!-- This web.xml file is not required when using Servlet 3.0 container, see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html --> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.yuta.pim</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/webapi/*</url-pattern> </servlet-mapping> </web-app>

index.jsp

<html> <body> <h2>Jersey RESTful Web Application!</h2> <p><a href="webapi/myresource">Jersey resource</a> <p>Visit <a href="http://jersey.java.net">Project Jersey website</a> for more information on Jersey! </body> </html>

プロジェクトにはまだ自分のコードを書き加えてはいません。すべて初期状態のソースコードです。
公式サイトのスタートガイドでも、YouTubeでの解説動画でも、ここで躓く人がいないためか解決策を見つけられませんでした。

回答お待ちしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

残念ながら Jersey 3 は Tomcat 9 以下では動かないようです

https://stackoverflow.com/questions/36975887/404-error-when-running-jersey-web-app-on-tomcat-7-in-eclipse

投稿2020/12/16 03:09

_tao

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuko-yuta

2020/12/16 05:44

なるほど!理解できました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問