まず、私は Web サービスの初心者です。私は大学で、分散型ドラッグ ストアの管理などの Web アプリケーションと Web サービスの開発に関する教育的な仕事をしています。struts2 フレームワークを使用して動作する Web アプリケーションを開発しましたが、Web サービスに拡張したいと考えています。さまざまな Web アプリケーション コントローラーのラッパーであるクラス (WSManager などの名前) を実装できることがわかりました。これらのコントローラーの静的メソッドを呼び出す必要があります。Web アプリケーションは、ユース ケースごとにコントローラーを提供するように設計されています。
たとえば、コントローラーは次のようになります。
public class AdminLocaleController extends AbstractController {
private static final long serialVersionUID = -6266455088438602574L;
private static Logger logger = Logger.getLogger(AdminLocaleController.class);
private List<Prodotto> prodotti;
@Override
public String execute() {
prodotti = initializeAdminLocaleView();
return "success";
}
public List<Prodotto> getProdotti() {
return prodotti;
}
public void setProdotti(List<Prodotto> prodotti) {
this.prodotti = prodotti;
}
public static List<Prodotto> initializeAdminLocaleView() {
logger.info("Recupero lista di prodotti da ordinare");
DBController dbController = new DBControllerImpl();
return dbController.getProdottiDaOrdinare();
}
}
WSManager クラスは、次のように initializeAdminLocaleView() を呼び出します。
/* AdminLocaleController */
public List<Prodotto> initializeAdminLocaleView(){
return AdminLocaleController.initializeAdminLocaleView();
}
そのサービス クラスを提供する Eclipse で Web サービスを作成します。
私が間違ったことをしている場合は、Web アプリケーションを Web サービスに拡張する適切な方法をお尋ねします。
それ以外の場合、私の問題は、ビュー (jsp) とコントローラーの間でパラメーターと属性を管理する必要があるかどうか (およびその方法) です。
最後に、データを処理し、返されたオブジェクトをセッションに保存するコントローラー (それぞれが SessionAware を実装する) をいくつか用意します (たとえば、要求セッションでユーザー Bean を保存する LoginController)。さらに深く、私の質問は、Web サービスの場合にWeb アプリのセッションに保存された属性をどのように管理する必要があるかということです。ユーザー Bean をパラメーターとして渡す WSManager のメソッド呼び出しがある場合、どうすればそれをセッションから取得できますか。それとも単純に、Web サービスの観点からセッションから何かを取得する必要があるのでしょうか?
紛らわしい質問を書いたと思いますが、この時点でも混乱しているのが私の心の状態です。