2

首先,我是 Web 服务的新手。我在大学有一个教学任务,关于开发 Web 应用程序和 Web 服务,例如管理分布式药店。我已经使用 struts2 框架开发了一个有效的 Web 应用程序,但现在我想将它扩展到一个 Web 服务。我发现我可以实现一个类(例如命名为 WSManager),它是各种 Web 应用控制器的包装器。它必须调用这些控制器的静态方法。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),它们处理数据并将返回的对象存储在 Session 中(例如,在请求会话中保存 User bean 的 LoginController)。更深一点,我的问题是在 Web 服务的情况下我应该如何管理 Web 应用程序的会话存储属性。如果我在 WSManager 中有将用户 bean 作为参数传递的方法调用,我如何从会话中获取它。或者简单地说,我是否有必要从 Web 服务的角度从会话中获取某些东西?

我确定我写了一个令人困惑的问题,但我此时的心态也是令人困惑的。

4

0 回答 0