■サーブレット課題
準備
プロジェクトの作成
JSP準備と実行 を参考に 4-2 というプロジェクトを作成してください。
作成が完了したら、以下の各ファイルを画像のフォルダ構造と同じになるように 4-2 のプロジェクトに格納してください。
※画像だと分かりにくいですが、.html
や.jsp
などはWEB-INF配下ではなく、WebContent配下になります。
フォルダ構造
SelectServlet.java
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * サーブレット * HTMLから情報を受け取り、表示させる処理 * * 問①・②の回答をお願いします。 * */ public class SelectServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); // 問① select.htmlから渡された値を受け取るために下記を修正しましょう。 String value = request.getParameter("ここを修正"); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); // 問② エビデンスと同じ表示になるように修正しましょう。 out.println("ここを修正"); } }
select.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>select</title> </head> <body> <div align="center"> 今日は何月ですか? <!--問① web.xmlのurl-patternを確認しformの遷移先を指定しましょう。 --> <form action="./month" method="post"> <select name="month"> <option value="1">1月</option> <option value="2">2月</option> <!--問② 3月~12月も同様に選択できるよう記述しましょう。 --> </select> <input type="submit" name="button" value="送信"> </form> </div> </body> </html>
web.xmlの記述
web.xmlの内容をコピーして、ご自身のxmlファイルに反映してください。
また修正が必要な部分もありますので、改修をお願いいたします。
1行目、2行目に関しては、それぞれの環境によって違う記述になっているので使用しないでください。
今回はイメージとして全て記述しております。
<!-- ここから --> コピー対象 <!-- ここまで -->
上記に提示したコピー対象部分を以下のweb-xmlよりコピペしてください。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <!-- ここから --> <welcome-file-list> <welcome-file>select.html</welcome-file> </welcome-file-list> <servlet> <servlet-name>select</servlet-name> <!--問① サーブレットのクラス名を入れてください。--> <servlet-class>[ここを修正]</servlet-class> </servlet> <servlet-mapping> <servlet-name>select</servlet-name> <!--問② URLパターンを記述してください。--> <url-pattern>[ここを修正]</url-pattern> </servlet-mapping> <!-- ここまで --> </web-app>
課題
修正対象ファイル
- select.html
- SelectServlet.java
- web.xml
それぞれのファイルに問題が用意されています。
すべて回答し、下記に示すような表示になるようにしてください。
下記に示すようなHtmlファイルを作成しなさい。