从struts2 Web应用程序创建Web服务

时间:2012-09-16 13:14:56

标签: web-services web-applications struts2

首先,我是Web Services的新手。我在大学里有一个关于开发Web应用程序和Web服务的教学任务,比如管理分销药店。 我使用struts2框架开发了一个可用的Web应用程序,但现在我想将它扩展到Web服务。我发现我可以实现一个类(以WSManager命名),它是各种Web App Controller的包装器。 它必须调用那些控制器的静态方法。 Web应用程序旨在为每个用例提供一个Controller。

例如,控制器是这样的:

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服务的正确方法。

否则,我的问题是我是否必须(以及如何)管理Views(jsp)和Controllers之间的参数和属性。

最后,我有一些控制器(每个都实现了SessionAware),它处理数据并在Session中存储返回的对象(例如,一个在请求会话中保存User bean的LoginController)。更深入的是,我的问题是如何在Web服务的情况下管理Web App的会话存储属性。如果我在WSManager中有方法调用,它将User bean作为参数传递,我怎样才能从会话中获取它。或者简单地说,我是否有必要从Web服务的角度从会话中获取某些内容?

我确信我写了一个令人困惑的问题,但在这一点上我的心态也是混乱的。

0 个答案:

没有答案