1

アプリケーション用に 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 は正しいです。
この問題を解決するにはどうすればよいですか?

4

2 に答える 2