練習問題 解答
10.5 練習問題 解答
問1
① ×:クッキーはWebサーバ上ではなくクライアント上にデータが保管されます。
② ○
③ ○
④ ×:有効期限を設定しない場合、ブラウザが閉じられるまで有効なデータとなる。
問2
➢ practice1001.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"); |
17 | < title >practice1001</ title > |
20 | < form action="<%= request.getContextPath() %>/Practice1001Servlet" method="get"> |
22 | < input type = "text" name = "job" value=<%= job %>> |
23 | < input type = "submit" value = "送信" > |
➢ Practice1001Servlet.java
3 | import java.io.IOException; |
5 | import jakarta.servlet.RequestDispatcher; |
6 | import jakarta.servlet.ServletException; |
7 | import jakarta.servlet.annotation.WebServlet; |
8 | import jakarta.servlet.http.Cookie; |
9 | import jakarta.servlet.http.HttpServlet; |
10 | import jakarta.servlet.http.HttpServletRequest; |
11 | import jakarta.servlet.http.HttpServletResponse; |
13 | @WebServlet("/Practice1001Servlet") |
14 | public class Practice1001Servlet 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", value); |
29 | jobCookie.setMaxAge(60 * 60 * 12); |
30 | response.addCookie(jobCookie); |
32 | RequestDispatcher dispatcher = request.getRequestDispatcher("/view/ch10exercise/practice1002.jsp"); |
33 | dispatcher.forward(request, response); |
35 | RequestDispatcher dispatcher =request |
36 | .getRequestDispatcher("/view/ch10exercise/practice1003.jsp?message="+message); |
37 | dispatcher.forward(request, response); |
NEXT>> 第11章 リクエストスコープを利用しよう