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

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

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

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

Eclipse

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

Q&A

1回答

16678閲覧

eclipseでクリーンを行っても更新が反映されません。

arukana-1

総合スコア10

Java

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

Eclipse

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

0グッド

0クリップ

投稿2020/01/20 04:57

編集2020/01/20 06:41

eclipse上で書いたServletを更新したいです。

サーバのクリーン⇒リスタートを行っても書き換えたところが反映されません。
なんとかサーブレットを更新したいです!
分かる方がいらっしゃいましたら教えて頂けるとありがたいです。

自分の予想

1.どこかのwarファイルを読み込まれ続けていて更新が反映されない
2.warに代わるなにかのデータが使われていて更新が反映されない
なのかな?と考えています。

具体的には

SearchUserServlet(/search2)が
http://localhost:8080/test/search2で動きません。
http://localhost:8080/test/searchは動きます。
※(/search)を(/search2)に書き換えているため該当するservletはありません。

参考画像

eclipse
イメージ説明
イメージ説明

###参考画像追加分
実行
TestServlet

モジュール編集に関して

モジュール編集

新規サーバーの立ち上げとサーバー停止時の挙動

サーバー停止時
サーバー停止時

新規サーバー(TestServer2とTestServer2(servlet)
イメージ説明

Java

1package web.jpa; 2import java.io.IOException; 3import javax.servlet.ServletException; 4import javax.servlet.annotation.WebServlet; 5import javax.servlet.http.HttpServlet; 6import javax.servlet.http.HttpServletRequest; 7import javax.servlet.http.HttpServletResponse; 8 9import javax.servlet.http.HttpSession; 10import java.lang.reflect.Field; 11import java.io.*; 12import java.util.*; 13import java.time.LocalDateTime; 14import java.time.format.DateTimeFormatter; 15import javax.servlet.RequestDispatcher; 16import javax.persistence.EntityManager; 17import javax.xml.ws.Response; 18 19@WebServlet("/search2") 20public class SearchUserServlet extends HttpServlet{ 21 public void doGet(HttpServletRequest request, 22 HttpServletResponse response) throws ServletException, IOException{ 23 response.setContentType("text/plain; charset=utf-8"); 24 String url_name = "%" + request.getParameter("name") + "%"; 25 EntityManager em = EntityManagerFactory.create(); 26 em.getTransaction().begin(); 27 try { 28 List<User> name_list = em.createQuery( 29 "SELECT u FROM User u WHERE u.name LIKE :name ", 30 User.class).setParameter("name", url_name) 31 .getResultList(); 32 33 request.setAttribute("name_list", name_list); 34 request.getRequestDispatcher("/WEB-INF/jpa/search.jsp").forward(request, response); 35 36 } finally { 37 em.close(); 38 } 39 } 40

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

Tomcat8.5
eclipse:
eclipse-jee-2019-03-R-win32-x86_64
PC:Surface 4
実行:localhost

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

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

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

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

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

NEO_PLANETT-777

2020/01/20 05:04

マッピング等は変更してますか?
arukana-1

2020/01/20 05:07

ご指摘ありがとうございます。 /search2 に変更しております! 参考画像を追加いたしましたのでもしよければ見て頂ければと思います!
m.ts10806

2020/01/20 05:29

新しい画面、サーブレットを作った場合はどうでしょうか
arukana-1

2020/01/20 05:47

新しい画面とは何の画面でしょうか? ごめんなさいまだeclipseに慣れていないせいかわからなかったです。 サーブレットに関しては参考画像を追加しました。 404がでました。
m.ts10806

2020/01/20 06:29

今回とは全く別の画面を新規に作成するという意味です。
arukana-1

2020/01/20 06:44

丁寧に教えて頂きありがとうございます。 新しくTestServer2という動的プロジェクトを立ち上げTestServer2というサーブレットを作って確認してみましたが404がでました。 その際の画像を追加いたしました。 もしかしてeclipseが完全に動いていないのかなとも思いましたがサーバーをストップすると一枚目の画像の「このサイトにアクセス」できませんが出ましたので一応動いてはいるみたいです。
guest

回答1

0

サーブレットを含むJavaクラスは、コンテナ(Tomcatなどのサーバ)が動作しているときにクリーンしても反映されません。

適用させる場合は、一度コンテナを止めてコンテナを再起動するか、
以下のようにモジュールが更新されたときに、自動的に読み込みなおす設定にします。

イメージ説明

投稿2020/01/20 05:53

A-pZ

総合スコア12011

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

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

arukana-1

2020/01/20 06:31

解答ありがとうございます。 この方法を知らなくてずっと手動でクリーン⇒リスタートしていました。今後気を付けます。 ただ、確認したところWebモジュールの自動再ロードは設定されていたようで、実行結果は変わらず404が表示されました。 そもそも何か自分が大きな勘違いをしてしまっているような気がしてきました。。。
arukana-1

2020/01/20 06:31

その際の参考画像を追加させていただきました。
A-pZ

2020/01/20 08:21

画像を拝見しましたが、URLが違うようです。 localhost:8080/TestServer2/TestServlet2 が正しいです。 紛らわしい名前をつけると、入力ミスや見間違えが増えます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問