当社 の新人エンジニア研修向けのJSP Servletの問題集です。
1 Servlet:IncludeにInclude2、3を静的インクルード(<%@ %>)するように①②を埋めなさい
<アウトプット例>
<ソースコード①>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package include; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns = {"/Include"}) public class Include extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //① //② } } |
<ソースコード②>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package include; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns = {"/Include2"}) public class Include2 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("<p>Hello from Include2.</p>"); } } |
<ソースコード③>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package include; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns = {"/Include3"}) public class Include3 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("<p>Hello from Include3.</p>"); } } |
2 上記1のコードを動的インクルード(<jsp: />)で書き換えなさい。
3 以下のコードを実行し、静的インクルードと動的インクルードの違いについて述べなさい。
ヒント:includeしたファイルの変数が使えるのはどちらの方法か?
<ソースコード①>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <!DOCTYPE> <html> <head> <meta charset="UTF-8"> <title>静的インクルードと動的インクルードの違い</title> </head> <body> <%@ include file="included1.jsp" %> <jsp:include page="included2.jsp" /> <hr> Hello from <%=origin%>. </body> </html> |
<ソースコード②>
1 2 3 |
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <% String origin = "included1";%> Hello from included1.<br> |
<ソースコード③>
1 2 3 |
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <% String origin = "included2";%> Hello from included2.<br> |
4 JSP:以下のようにメニューを静的インクルードして各ページに行き来できるようにしなさい。
<アウトプット例>
<menu.jspのソースコード>
1 2 3 4 5 6 |
<%@page contentType="text/html" pageEncoding="UTF-8"%> <a href ="login.jsp">ログイン画面</a> <a href ="search.jsp">検索画面</a> <a href ="update.jsp">更新画面</a> <a href ="delete.jsp">削除画面</a> |