###前提・実現したいこと
Servlet3.0でWebApiを作成しています。
アノテーションでパターンを定義していますが、複数のクラスにルーティングを定義した場合に期待通りに動作しません。
というかアプリケーションルートへのルーティングがあるとそのAPIしか呼び出されないようです。
下記のように定義し、それぞれ
http://www.example.com/
http://www.example.com/other
で呼び出したところどちらの呼び出しでもOneServlet.doPost()が呼び出されます。
実現したいこととしてはhttp://www.example.com/otherに対しOtherServletが呼び出されるようにしたいです。
###該当のソースコード
OneServlet.java
Java
1@WebServlet(name="ONE",urlPatterns={"/"}) 2public class OneServlet extends HttpServlet { 3 4 @Override 5 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { 6 // 呼び出される 7 } 8}
OtherServlet.java
Java
1@WebServlet(name="OTHER",urlPatterns={"/other"}) 2public class OtherServlet extends HttpServlet { 3 4 @Override 5 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { 6 // FIXME 呼び出されない 7 } 8}
###補足情報(言語/FW/ツール等のバージョンなど)
Java1.8
Tomcat7
Ubuntu 14.04.5
2つのJavaファイルは同じパッケージ内にあります。別のwarファイルで片方の定義だけが生きているということではありません。
OneServlet.java側のルーティングを
@WebServlet(name="ONE",urlPatterns={"/one"})
とした場合は
http://www.example.com/one
http://www.example.com/other
でそれぞれ呼び出されます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/15 04:40