練習問題 解答
11.5 練習問題 解答
問1
① ×:リクエストスコープ内のデータは何度でも取得することができます。
② ×:リクエストスコープ内のデータは1リクエストの間有効なため、次のリクエストでは利用できません。
③ ○
④ ○
⑤ ×:既存のクラス以外に、自作したクラスのオブジェクトも登録することが可能です。
問2
➢ practice1101.jsp
1 | <%@page contentType= "text/html; charset=UTF-8" %> |
2 | <%@page import="java.net.*" %> |
6 | Cookie[] jobCookie = request.getCookies(); |
8 | for(int i = 0 ; i < jobCookie.length ; i++){ |
9 | if(jobCookie[i].getName().equals("job")){ |
10 | job = URLDecoder .decode(jobCookie[i].getValue(), "UTF-8"); |
14 | String message = (String)request.getAttribute("message"); |
21 | < title >practice1101</ title > |
24 | < form action="<%= request.getContextPath() %>/Practice1101Servlet" method="get"> |
26 | < input type = "text" name = "job" value=<%= job %>> |
27 | < input type = "submit" value = "送信" >< br > |
➢ Practice1101Servlet.java
3 | import java.io.IOException; |
5 | import jakarta.servlet.ServletException; |
6 | import jakarta.servlet.annotation.WebServlet; |
7 | import jakarta.servlet.http.Cookie; |
8 | import jakarta.servlet.http.HttpServlet; |
9 | import jakarta.servlet.http.HttpServletRequest; |
10 | import jakarta.servlet.http.HttpServletResponse; |
12 | @WebServlet("/Practice1101Servlet") |
13 | public class Practice1101Servlet extends HttpServlet { |
15 | public void doGet(HttpServletRequest request, HttpServletResponse response) |
16 | throws ServletException, IOException { |
18 | String job = request.getParameter("job"); |
19 | String message = null; |
22 | message = "フォーム画面から入力してください。"; |
23 | }else if(job.equals("")){ |
24 | message = "何も入力されていません。"; |
28 | Cookie jobCookie = new Cookie("job", job); |
29 | jobCookie.setMaxAge(60 * 60 * 12); |
30 | response.addCookie(jobCookie); |
32 | request.setAttribute("job", job); |
33 | request.getRequestDispatcher("/view/ch11exercise/practice1102.jsp").forward(request, response); |
35 | request.setAttribute("message", message); |
36 | request.getRequestDispatcher("/view/ch11exercise/practice1101.jsp").forward(request, response); |
➢ practice1102.jsp
1 | <%@page contentType= "text/html; charset=UTF-8" %> |
4 | String job = (String)request.getAttribute("job"); |
9 | < title >practice1102</ title > |
NEXT>> 第12章 セッションを利用しよう