首先,我是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服务的角度从会话中获取某些内容?
我确信我写了一个令人困惑的问题,但在这一点上我的心态也是混乱的。