私は、学習目的でJavaサーブレットを使用して非常に単純なWebフレームワークを作成しています。これは以前にPHPで行ったことがあり、リクエストURIを調べて、適切なクラスとメソッドをインスタンス化することで機能しました。
これはPHPで正常に機能しました。これは、のようなことができるためです$c = new $x; $x->$y;
。ただし、これをJavaに変換する方法、またはこれが適切な方法であるかどうかはわかりません。
これまでのところ、私は試しました:
Router router = new Router(request.getPathInfo());
String className = router.route(); //returns com.example.controller.Foo
Class c = Class.forName(className);
Object x = c.newInstance();
Foo y = (Foo) x;
y.doSomething();
これは、いくつかのルートでは問題ないように見えますが、適切に拡張できるようには見えません。また、構成ファイルからルートを取得することもできません。
どうすれば機能させることができますか?