サーバーが 2 つあり、自分のサーバーの jsp から別のサーバーの jsp を呼び出すことができます。
次のコードのように。最初のサーバー JSP。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<form method="post" action="http://localhost:8080/Second_App/index.jsp">
Name : <input type="text" name="name"/>
Surname : <input type="text" name="surname"/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
[送信] をクリックすると、コントロールが 2 番目のサーバーに移動し、名前をパラメーターとして受け取り、それを 2 番目のサーバーの jsp に入れます。
2 番目のサーバー JSP。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<%
String name = (String) request.getParameter("name");
String surName = (String) request.getParameter("surname");
%>
Name : <%= name %>
Surname : <%= surName %>
</body>
</html>
サーブレットを使用してまったく同じことをしたい。
サーブレットのリダイレクトを試してみましたが、コントロールは2番目のサーバーに移動しますが、リダイレクトのため、「名前」パラメーターは必要ありません。
Forwardで試しましたが、最初のサーバーでそのjspを見つけているため、機能していません。
RequestDispatcher dispatcher = request.getRequestDispatcher("http://server2/app1/index.jsp");
dispatcher.forward(request, response);
私の懸念は、JSP がサーブレットであることです。これがjspで行われる場合、サーブレットでそれを行う方法が必要であることを意味します。
ありがとう。