弊社の新人エンジニア研修向けのJSP Servletの問題集です。
1.静的インクルード
以下のServlet:IncludeにInclude2、3を静的インクルード(<%@ %>)するように①②を埋めなさい
<アウトプット例>

<ソースコード①>
package p10;
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 {
//①
//②
}
}
<ソースコード②>
package p10;
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>");
}
}
<ソースコード③>
package p10;
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したファイルの変数が使えるのはどちらの方法か?
<ソースコード①>
<%@ 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>
<ソースコード②>
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <% String origin = "included1";%> Hello from included1.<br>
<ソースコード③>
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <% String origin = "included2";%> Hello from included2.<br>
4.静的インクルード
JSPを使い以下のようにメニューを静的インクルードして各ページに行き来できるようにしなさい。
<アウトプット例>




<menu.jspのソースコード>
<%@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>