質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

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

Q&A

0回答

753閲覧

デプロイ後の404エラーの原因が知りたい

tanisi6

総合スコア3

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

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

0グッド

0クリップ

投稿2022/09/01 06:14

編集2022/09/03 04:32

前提

eclpseでプロジェクトのwarファイルをエクスポートしてherokuでデプロイしましたが404エラーがでます。ローカルでは動作確認できています。フォワードして白紙のページを表示するだけアプリです。https://youtu.be/nGQlDcwH0bkこの動画の通りにやったのですがうまくいきませんでした。warファイルをエクスポートしたときにプロジェクトの中にwarファイルが作成されなかったことと、コマンドプロンプトで最初に打っているコマンドの意味がよくわからなかったので、そのあたりに原因があるのかなと自分では思っているのですが知識不足で分かりません。

###実現したいこと
herokuでJavaアプリをデプロイしたい

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

イメージ説明

2022-09-01T07:19:05.360811+00:00 app[web.1]: Sep 01, 2022 7:19:05 AM org.apache.catalina.core.StandardEngine startInternal
2022-09-01T07:19:05.360813+00:00 app[web.1]: INFO: Starting Servlet engine: [Apache Tomcat/9.0.30]
2022-09-01T07:19:05.476612+00:00 app[web.1]: Sep 01, 2022 7:19:05 AM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
2022-09-01T07:19:05.476616+00:00 app[web.1]: INFO: No global web.xml found
2022-09-01T07:19:05.727074+00:00 heroku[web.1]: State changed from starting to up
2022-09-01T07:19:10.339661+00:00 app[web.1]: Sep 01, 2022 7:19:10 AM org.apache.jasper.servlet.TldScanner scanJars
2022-09-01T07:19:10.339668+00:00 app[web.1]: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2022-09-01T07:19:10.391325+00:00 app[web.1]: Sep 01, 2022 7:19:10 AM org.apache.coyote.AbstractProtocol start
2022-09-01T07:19:10.391327+00:00 app[web.1]: INFO: Starting ProtocolHandler ["http-nio-49898"]
2022-09-01T07:19:10.463204+00:00 heroku[router]: at=info method=GET path="/" host=java-hite.herokuapp.com request_id=793a04de-5f29-4512-8616-8d89fd87496b fwd="153.246.140.214" dyno=web.1 connect=0ms service=3023ms status=404 bytes=864 protocol=https

補足情報(FW/ツールのバージョンなど)

java17 tomcat9

サーブレット

package

1 2import java.io.IOException; 3 4import javax.servlet.RequestDispatcher; 5import javax.servlet.ServletException; 6import javax.servlet.annotation.WebServlet; 7import javax.servlet.http.HttpServlet; 8import javax.servlet.http.HttpServletRequest; 9import javax.servlet.http.HttpServletResponse; 10 11/** 12* Servlet implementation class See 13*/ 14@WebServlet("/See") 15public class See extends HttpServlet { 16private static final long serialVersionUID = 1L; 17 18/** 19* @see HttpServlet#HttpServlet() 20*/ 21public See() { 22super(); 23// TODO Auto-generated constructor stub 24} 25

NewFile.jsp

1>>> 2<%@ page language="java" contentType="text/html; charset=UTF-8" 3pageEncoding="UTF-8"%> 4<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5<html> 6<head> 7<meta http-equiv="Content-Type"content="text/html;charset"=UTF-8"> 8<title>Insert title here</title> 9</head> 10<body> 11 12</body> 13</html>

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

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

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

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

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

m.ts10806

2022/09/01 06:16

エラーログも確認してみてください。
tanisi6

2022/09/01 07:31

ログを追記しました。もし原因がわかれば教えていただきたいです。よろしくお願いします。
m.ts10806

2022/09/01 07:32

heroku使ったことないのでなんとも言えないのですが、 Tomcatの設定はローカルと全く同じにできてますか? 404がでるということはweb.xmlやserver.xmlなどの設定関係に違いがあるものと思われます。
tanisi6

2022/09/01 08:46

デプロイするときはxmlが必要なのですか?xmlのことを調べてみたのですが、よくわからなくて、、もう少し勉強しないとだめなのかもしれません、、 mavenをインストールして、mavenプロジェクトに変換しようと思ったのですが、構成→mavenプロジェクトに変換と出てきません。
m.ts10806

2022/09/01 09:03

いえ、tomcatのほうです。 あくまでWEBサーバーの話。 mavenがあるならまだ変わるような気もしますが…。 Springですか? それとも単にmavenプロジェクトで作ったアプリケーションですか?
tanisi6

2022/09/01 09:45

Springではなく、ただの動的Webプロジェクトです。xmlも書いていなくてサーブレットとjsp だけのプロジェクトなのですが、これだけではデプロイできないのでしょうか?
m.ts10806

2022/09/01 11:45

実際のコードがないと何とも言えません。
tanisi6

2022/09/02 13:04

web.xmlを書いてみたのですが、404でした。 web.xml >>> <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee_9xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" version="5.0"> <servlet> <servlet-name>See</servlet-name> <servlet-class>sss.See</servlet-class> </servlet> <servlet-mapping> <servlet-name>See</servlet-name> <url-pattern>/sss/See</url-pattern> </servlet-mapping> <welcom-file-list> <welcom-file>NewFile.jsp</welcom-file> </welcom-file-list> </web-app> Seeサーブレット >>> package sss; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class See */ @WebServlet("/See") public class See extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public See() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); RequestDispatcher dispatcher=request.getRequestDispatcher("/WEB-INF/lib/NewFile.jsp"); dispatcher.forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } } NewFile.jsp >>> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type"content="text/html;charset"=UTF-8"> <title>Insert title here</title> </head> <body> </body> </html>
m.ts10806

2022/09/02 20:44

コメント欄ではマークダウン使えませんし、 目につきにくいので原則質問本文に追記してください。
m.ts10806

2022/09/02 20:46

web.xmlが必要かどうかはプロジェクト次第ですし、 ローカルで作ってないものをわざわざ作るということはないと思います。 (あくまでサーブレットやjspとアクセスするURLのマッピングのためのものだから)
tanisi6

2022/09/03 04:22

わかりました、失礼しました。 そうですよね、このあと調べてみてわかりました。アノテーションかweb.xmlなんですね。 先日仰っていたweb.xmlはtomcatのweb.xmlのことだったんですね。開いてみてみたのですが何が書いてあるのかさっぱりなのですがなにか書き換えなければいけないのか、、jdkなどのバージョンがおかしいのでしょうか、、
m.ts10806

2022/09/04 10:02

>jdkなどのバージョンがおかしいのでしょうか、、 それぞれバージョン提示してください(ローカルとheroku) あと、新たに質問立てられましたか? 本件と同じであれば質問編集してください。 編集することで「アクティブ」として質問一覧にも上がってきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問