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

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

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

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

スコープ

スコープとは、プログラム内で変数名など、参照可能な有効範囲のことを指します。

サーブレット

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

Q&A

解決済

1回答

590閲覧

フォーム入力内容を表示させたい

mimotea

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

スコープ

スコープとは、プログラム内で変数名など、参照可能な有効範囲のことを指します。

サーブレット

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

0グッド

0クリップ

投稿2021/08/05 03:09

フォームに入力した内容を表示させたい。

eclipseでサーブレット/JSPでMVCモデルのシンプルなつぶやき投稿アプリを作っています。
サーブレットでセッションスコープに保存した入力内容をJSPで取得して表示させたいのですが上手くいきません。

実行すると、500エラーが出てしまいます

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

タイプ 例外報告 メッセージ [/takoyaki.jsp] の処理中に行番号 [22] で例外が発生しました。 説明 サーバーは予期しない条件に遭遇しました。それはリクエストの実行を妨げます。 例外 org.apache.jasper.JasperException: [/takoyaki.jsp] の処理中に行番号 [22] で例外が発生しました。 19: <input type="text" name="tweet"> 20: <input type="submit" value="えいっ"> 21: </form> 22: <p><%= tubu.getTubu() %></p> 23: </body> 24: </html> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:626) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:515) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) servlet.takoyaki.doGet(takoyaki.java:30) javax.servlet.http.HttpServlet.service(HttpServlet.java:626) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 根本原因 java.lang.NullPointerException org.apache.jsp.takoyaki_jsp._jspService(takoyaki_jsp.java:140) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) servlet.takoyaki.doGet(takoyaki.java:30) javax.servlet.http.HttpServlet.service(HttpServlet.java:626) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 注意 原因のすべてのスタックトレースは、サーバのログに記録されています

該当のソースコード

サーブレット package servlet; 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; import javax.servlet.http.HttpSession; import beans.Tweet; @WebServlet("/takoyaki") public class takoyaki extends HttpServlet { private static final long serialVersionUID = 1L; public takoyaki() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //フォワード RequestDispatcher dispatcher = request.getRequestDispatcher("takoyaki.jsp"); dispatcher.forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //jspのフォームへの入力(リクエストパラメータ)を受け取る request.setCharacterEncoding("UTF-8"); String tweet = request.getParameter("tweet"); //beans.Tweetをインスタンス化, beans.Tweetに受け取ったフォームの入力をsetする Tweet tubu = new Tweet(tweet); //HttpSessionインスタンスを取得 HttpSession session = request.getSession(); session.setAttribute("Tweet", tubu); } } JSPファイル <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="beans.Tweet" %> <% Tweet tubu = (Tweet) session.getAttribute("tubu"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>たこ焼き君に呟こう!</title> </head> <body> <h1 class="title">たこ焼き君に何か呟こう!</h1> <img src="./img/takoyaki.png"> <p>たこ焼き君に向かって何でもかんでも呟こう!^_^</p> <form action="/Takoyaki/takoyakiServlet" method="post"> <input type="text" name="tweet"> <input type="submit" value="えいっ"> </form> <p><%= tubu.getTubu() %></p> </body> </html>

テキストを参考に作っているのですが、何度見合わせても問題点が発見できません。
どなたかご教授お願いいたします。

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

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

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

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

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

guest

回答1

0

自己解決

自己解決しました。
単純にjsp内のフォームのアクションの指定先が間違っており、修正したら思うように動作しました。

投稿2021/08/06 03:27

mimotea

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問