I have an index.html
file in my local disk file system on c:\report\index.html
. I need to display this file in web application's JSP page in an <iframe>
.
How can I achieve this?
簡単じゃないですか?
<IFRAME SRC="D:\\lib\\hello.html" width="400" height="200">
<!-- Alternate content for non-supporting browsers -->
</IFRAME>
の助けを借りて を取得し、適切なコンテンツ タイプ ヘッダーを設定した後に応答の に書き込むサーブレットを作成します(ブラウザがその処理方法を理解できるようにするため)。最後に、 でサーブレットの URL を指定するだけです。InputStream
FileInputStream
OutputStream
<iframe src>
例えば
@WebServlet("/reportServlet")
public class ReportServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
Inputstream input = new FileInputStream("c:/report/index.html");
OutputStream output = response.getOutputStream();
// Write input to output the usual way.
}
}
と
<iframe src="${pageContext.request.contextPath}/reportServlet" ...></iframe>
別の方法は、サーバー構成で新しい webapp コンテキストとしてマップして、 http://example.com/report/index.htmlc:/report
から直接アクセスできるようにすることです。
<iframe src="/report/index.html" ...></iframe>