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

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

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

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

Java

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

Eclipse

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

Q&A

解決済

3回答

250閲覧

エラー500から抜け出せません…

退会済みユーザー

退会済みユーザー

総合スコア0

Java EE

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

Java

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

Eclipse

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

0グッド

0クリップ

投稿2014/09/10 02:57

お世話になっております。

昨日、再びエラー500が発生してしまった件で
アドバイスを頂いたのですが、試行錯誤の結果
お恥ずかしながら解決に至りませんでした。

現在エラーとして警告の出ている部分は
Encoder.javaのソース で
utf8 = new String(latin1.getBytes("ISO_8859_1"),"UTF-8");
ItemSelector.javaのソースで
String detail = Encoder.encodeUTF8(request.getParameter("detail"));
の二ヶ所です。
どなたか、アドバイスを頂けると幸いです。
すみません。よろしくお願い致します。

詳細
https://teratail.com/questions/1947

前回の相談内容です。

※新たなエラー画面
![イメージ説明]WIDTH:600

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

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

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

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

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

guest

回答3

0

ブラウザのURLを確認してみてください。
もしかしたら、detailの前に、&じゃない文字列(または全角の&など)が入っているかもしれません。

また、エラーどこで発生しているか分かりづらい場合は、処理を2行に分けると良いと思います。
例えば、
String detail = Encoder.encodeUTF8(request.getParameter("detail"));

String paramDetail = request.getParameter("detail"); String detail = Encoder.encodeUTF8(paramDetail);
と言った感じにします。

他にも、原因が別のところにあるかもしれないので、idやpriceの値も、
正しく変換されているか確認すると良いかもしれません。

投稿2014/09/10 06:22

m.h

総合スコア149

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

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

退会済みユーザー

退会済みユーザー

2014/09/10 06:39

m.h様 回答、ありがとうございます。 なるほど…処理を二段に分けるという方法が あるのですね!!確かに、最初の頃はこちらの方がとても 見やすいかもしれません!! 一つお勉強になりました!ありがとうございます。 しかし…新たにエラー出現です…。色々足りないようで…。 ご指導いただけるとありがたいです。
guest

0

パラメーターが未指定(この場合はdetail)の場合に、
空文字列の時と同じく"%"にしたい、ということと読み取りました。

Encoder.javaencodeUTF8の最初で

if (latin1 == null) return "";

とすればおそらくお望みの処理になると思います。

投稿2014/09/10 06:32

argius

総合スコア9390

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

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

退会済みユーザー

退会済みユーザー

2014/09/10 07:51

argius様 回答、ありがとうございます。 このような方法又は読み解き方があるのですね…。 また一つお勉強になりました。しかしながら、私には少し難しかったかもしれません。。 自身でしっかりと調べ、argius様から頂いた回答にも動じないよう努力していきます!
guest

0

ベストアンサー

ServletRequest#getParameterはパラメータが存在しない場合は null を返します。
ということはリクエストパラメータが受信されていないと考えられます。
nullを渡して参照しているためにNullPointerExceptionが発生しています。

HTML側の"detail"のスペルが正しいか確認してみてくだい。
"detail"がないなら実装してください。

投稿2014/09/10 05:51

omochi

総合スコア410

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

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

退会済みユーザー

退会済みユーザー

2014/09/10 06:31

omochi様 回答、ありがとうございます。 HTML側に記載されておりました <td><input type="text"name="detail"></td> の記述に終了タグがついていませんでした。 助かりました…。 ありがとうございます。 しかし、新たにエラーが…。 お時間ありましたらご指導くださいませ。
omochi

2014/09/10 06:48

> これは、プロパティファイルに『url servlet~』が記載されてないよ > という解釈であっていますでしょうか… そうですね。Key(url.servlet.itemManager)を見つけられないっていってます。
退会済みユーザー

退会済みユーザー

2014/09/11 00:06

omochi様 お返事遅くなり、すみません。 回答、ありがとうございます! 頑張って解決に向かっていこうと思います。 今後もご指導いただければ幸いです。 よろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問