弊社の新人エンジニア研修向けの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>

 

 

JavaWebアプリケーションの問題集に戻る