演習課題「投稿内容を表示する その1」
右の環境には、ServletとJSPで投稿フォームプログラムが作成してありますが、投稿フォームの「送信する」ボタンをクリックしても、投稿内容に名前が表示されません。ResultServlet.javaファイルを修正して、名前欄を表示するように修正してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
演習課題「投稿内容を表示する その2」
右の環境には、ServletとJSPで投稿フォームプログラムが作成してありますが、投稿フォームの「送信する」ボタンをクリックしても、投稿内容に名前が表示されません。このプログラムを修正して、名前欄を表示するように修正してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#05:投稿したデータを表示しよう
ここでは、フォームの投稿内容をServletとJSPで表示します。そのために、投稿フォームの内容をServletで取り出してみましょう。
(tomcat/webapps/myform/ResultServlet.java)import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ResultServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("message", "Thank you!");
request.setCharacterEncoding("utf-8");
String article = request.getParameter("article");
request.setAttribute("article", article);
String userName = request.getParameter("userName");
request.setAttribute("userName", userName);
String view = "/WEB-INF/views/result.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(view);
dispatcher.forward(request, response);
}
}
(tomcat/webapps/myform/WEB-INF/views/result.jsp)<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Java - paiza</title>
</head>
<body>
<% String message = (String)request.getAttribute("message");%>
<h1><%= message %></h1>
<% String article = (String)request.getAttribute("article"); %>
<% String userName = (String)request.getAttribute("userName"); %>
<p>投稿:<%= article %>, 名前:<%= userName %></p>
<p><a href="show">戻る</a></p>
</body>
</html>
$ javac -classpath "../../lib/servlet-api.jar" -d WEB-INF/classes ResultServlet.java
- Javaの道>Servlet・JSP
https://www.javaroad.jp/servletjsp/index.html
- Servletアプリ開発:目次 - Web系開発メモ
http://web-dev.hatenablog.com/entry/java/servlet/dev-restful-app/table-of-contents
- JSP(formデータ)とJava Servletプログラムの連携 - はしくれエンジニアもどきのメモ
http://cartman0.hatenablog.com/entry/2015/12/08/181657