アプリケーション用に servlet.java ファイルを作成し、次のように web.xml に追加しました。
サーブレット:
public class CheckServlet extends HttpServlet implements Servlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try (PrintWriter out = response.getWriter()) {
response.setContentType("text/html");
out.print("<html><body>");
out.printf("Application '%s' is active", getServletContext().getServletContextName());
out.print("</body></html>");
out.flush();
}catch(IOException e) {
logger.error("IO Exception");
}
}
}
web.xml
<servlet>
<servlet-name>CheckServlet</servlet-name>
<servlet-class>com.adapter.CheckServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CheckServlet</servlet-name>
<url-pattern>/check.html</url-pattern>
</servlet-mapping>
ローカル (UT 環境、ローカル ホスト) に liberty サーバーがあり、正常な応答が得られます。
この後、udeploy を使用して、より高い環境の別の WAS サーバー (WebSphere アプリケーション サーバー) にアプリケーションをデプロイしました。しかし、そこで URL をヒットすると、エラーがスローされます。
エラー404:
com.ibm.ws.webcontainer.servlet.exception.NoTargetForURIException: URI 用に構成されたターゲット サーブレットがありません: /check.html
コンテキストルートと URL は正しいです。
この問題を解決するにはどうすればよいですか?