練習問題 解答
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
6 | import javax.servlet.http.*; |
8 | public class Practice1001Servlet extends HttpServlet { |
10 | public void doGet(HttpServletRequest request, HttpServletResponse response) |
11 | throws ServletException, IOException { |
13 | request.setCharacterEncoding("UTF-8"); |
14 | String job = request.getParameter("job"); |
15 | String message = null; |
18 | message = "フォーム画面から入力してください。"; |
19 | }else if(job.equals("")){ |
20 | message = "何も入力されていません。"; |
24 | String value = URLEncoder.encode(job, "UTF-8"); |
25 | Cookie jobCookie = new Cookie("job", value); |
26 | jobCookie.setMaxAge(60 * 60 * 12); |
27 | response.addCookie(jobCookie); |
29 | RequestDispatcher dispatcher = |
30 | request.getRequestDispatcher("/view/ch10exercise/practice1002.jsp?job="+job); |
31 | dispatcher.forward(request, response); |
33 | RequestDispatcher dispatcher = |
34 | request.getRequestDispatcher("/view/ch10exercise/practice1003.jsp?message="+message); |
35 | dispatcher.forward(request, response); |
NEXT>> 第11章 リクエストスコープを利用しよう