前提・実現したいこと
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での解説動画でも、ここで躓く人がいないためか解決策を見つけられませんでした。
回答お待ちしております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/16 05:44