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

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

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

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

例外

例外(exception)とは、プログラムの処理実行中に発生する、通常の処理の続行を妨げる特殊な事象のことを呼びます。この「例外」が発生した場合に、現在の処理を中断し、変わりに別の処理を実行させる事を「例外処理」と呼びます。

Eclipse

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

Q&A

解決済

1回答

8223閲覧

eclipseで500errorがでます。

edoooooo

総合スコア476

Java

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

例外

例外(exception)とは、プログラムの処理実行中に発生する、通常の処理の続行を妨げる特殊な事象のことを呼びます。この「例外」が発生した場合に、現在の処理を中断し、変わりに別の処理を実行させる事を「例外処理」と呼びます。

Eclipse

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

0グッド

0クリップ

投稿2015/10/26 23:52

編集2015/10/27 01:01

type 例外レポート

メッセージ java.lang.NullPointerException

説明 The server encountered an internal error that prevented it from fulfilling this request.

例外

org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
原因

java.lang.NullPointerException
org.apache.jsp.main_jsp._jspService(main_jsp.java:105)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

長文すみません、このようなerrorが出ます。
このコードは、本を写したもので、本と書いたコードの違いは、見当たりません、どこがいけないのでしょうか?
よろしくおねがいします。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import ="model.User,model.Mutter,java.util.List"%>
<%
//セッションスコープに保存されたユーザー情報を取得
User loginUser=(User)session.getAttribute("loginUser");
//アプリケーションスコープに保存されたつぶやきリストを取得
List<Mutter>mutterList=(List<Mutter>)application.getAttribute("mutterList");
//リクエストスコープに保存されたエラーメッセージを取得
String errorMsg=(String)request.getAttribute("errorMsg");
%>

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>どこつぶ</title> </head> <body> <h1>どこつぶメイン</h1> <p> <%= loginUser.getName() %>さん、ログイン中 <a href="/docoTsubu/Logout">ログアウト</a> </p> <p><a href="/docoTsubu/Main">更新</a></p> <form action="/docoTsubu/Main" method="post"> <input type="text"name="text"> <input type="submit" value="つぶやく"> </form> <% if(errorMsg !=null){ %> <p><%=errorMsg %></p> <% } %> <% for(Mutter mutter :mutterList){ %> <p><%=mutter.getUserName() %>:<%=mutter.getText() %></p> <% } %> </body> </html>

main.jspのコードです。よろしくお願いします。

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

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

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

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

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

eripong

2015/10/27 00:14

main.jspでNullPointerExceptionのようなので、main.jspの内容を載せてください。
edoooooo

2015/10/27 01:12

よろしくお願いします
guest

回答1

0

ベストアンサー

画面表示時にNullPointerExceptionが発生しています。

○○.jspがjavaに変換されたものが○○_jsp.java、それをサーバ側でコンパイルしたものが○○_jsp.classになります。

Tomcatならコンテキストルート配下のorg\apache\jspにあると思います。
(確か、変更していなければプロジェクト名になってたかな?)
そのファイルを見れば、どの部分がNullになっているかが分かるかと思います。

ディレクトリ構成はコチラの「Tomcatのワークディレクトリー」の部分を参考にしてみてください。

投稿2015/10/27 00:53

kaputaros

総合スコア1844

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

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

edoooooo

2015/10/27 01:02

ありがとうございます。 org/apache/jspのファイルを見てみます。
eripong

2015/10/27 01:15

main.jspを見るより、こちらの方が直接的で良いですね。 一応、main.jspの内容からすると、loginUserがnullでloginUser.getName)で NullPointerExceptionか、 mutterListがnullでfor(Mutter mutter :mutterList){の行で NullPointerExceptionの可能性が高いです。
eripong

2015/10/27 01:22

つまり、セッションスコープにloginUserが入っていないか、 アプリケーションスコープにmutterListが入っていないかの可能性が高いです。
eripong

2015/10/27 03:09

org/apache/jspのファイル(main_jsp.java)の105行目はどうなっていますか? そのアクセスの仕方だと、ログイン処理が行われなそうです。 ログイン画面から操作しても変わりませんか?
edoooooo

2015/10/27 04:39

ありがとうございます。 http://localhost:8080/docoTsubu/main.jsp と検索すると、500errorと出るので、ログイン画面というものは出できていないのかと思います。 WebContect(であっているのかがわからないのですか)のmain.jsp には、35行までしかコードが見つかりません。すみませんよろしくおねがいします。
eripong

2015/10/27 04:53

main.jspでなく、main_jsp.javaです。 これは実行時にTomcatによって自動的に作られます。 Tomcatのワークディレクトリの下を探してください。 また、本の方に、ログイン処理について記述はありませんか? セッションにloginUserを設定するコードがあると思うのですが、どうでしょうか?
edoooooo

2015/10/27 07:13

ありがとうございます。 ターミナルでcatalina homeでみたらtomcat8.0.28というのがあったのですが、どうすればいいのでしょうか?すみませんよろしくお願いします。
eripong

2015/10/27 07:20

そのディレクトリの下にworkディレクトリはありませんか? 無い場合、私が https://teratail.com/questions/18753 で回答した内容の、jinfoを使う方法は、誤っているようなので、 申し訳ないのですが他の方法で調べてください。
edoooooo

2015/10/27 09:39

ありがとうございます。 workディレクトリはありませんでした。 なんども回答していただきありがとうございます。 警告がたくさん出ているので、まずそれを直してみます。
edoooooo

2015/10/27 10:15

すみません急に、理由は、わからないのですが、500えらーが消えました。しかし、ログイン画面でログインを押しても、動かないのですが、もう一度、ほんのコードと見比べてみます。ありがとうございました。
kaputaros

2015/10/28 01:40

> eripongさん フォローありがとうございました。 > taichitaichiさん 500エラーが消えたけど、ログインがうまく動かないとのこと。 catalina.logなどにエラー情報は出力されていないでしょうか??
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問