股票软件定制MVC模式

作者:adminy 发布时间:2019-08-26 浏览量:

  股票软件定制的实时信息主要是提供在线信息实时查询,并能自动显示最近收到的数据。股票软件定制系统设置主要提供股票软件定制系统用到各种字典的设置,参数的设置,无线传输终端的配置等。


  1、股票软件定制MVC模式


  股票软件定制MVC的关键在于将逻辑分离为3个不同的单元:模型(Model)、视图(View)和控制器(Controller)。在股票软件定制服务器应用中,通常将应用划分为以下部分,即业务逻辑、表示和请求处理。业务逻辑用于表示对应数据的处理;表示是指应用数据如何显示给用户;请求处理则是如何将业务逻辑和表示部分绑定在一起。采用MVC的说法,模型对应为业务逻辑和数据,视图对应为表示,控制器则对应为请求处理。


  2、股票软件定制系统中使用的MVC模式


  在股票软件定制系统中使用的是Servlet和JSP组成的MVC模式,Servlet与JSP结合,这种应用很容易维护,而且当出现新的需求时也很容易扩展。由于Servlet是一个常规Java类,可以充分使用Java语言的强大功能来实现请求处理,在此可以使用标准Java开发和调试工具。然后,系统利用JSP最擅长的方面:通过包含由Servlet所收集或生成的信息来提供响应。


  3、股票软件定制系统中MVC的实现


  在股票软件定制系统中使用一个类名为WebManager的Servlet作为一个相当于网关的控制器,它负责将各个请求URI分发至对应的处理类。WebManagerTrainManager中的doPost方法和doGet方法都指向了自定义的process方法:


  public void doPost(


  HttpServletRequest request,


  HttpServletResponse response)


  ThrowsServletException, IOException {


  process(request,response);


  }


  public void doGet(


  HttpServletRequest request,


  HttpServletResponse response)


  ThrowsServletException, IOException {


  process(request,response);


  }


  WebManager中的process方法的作用是专门分发请求到各个处理类的。process方法首先分析URI,并取出本次URI要跳转到的模块的URI路径:


  String requestURI


  = StringUtil.extractPath(request.getRequestURI());


  取到requestURI后,开始与系统现存的各个处理类匹配:


  if(requestURI.equals("logout")){


  responseURI="/html/index.jsp";


  }else if(requestURI.equals("trainstatus")){


  responseURI = trainAction.process(da,request,response);


  }else if(requestURI.equals("pointdata")){


  responseURI = pointDataAction.process(da,request,response);


  } else if(requestURI.equals("login")){


  responseURI = login.process(request,response);


  }else if(requestURI.equals("qcjl")){


  responseURI = recordAction.process(request, response);


  }else if(requestURI.equals("trainlist")){


  responseURI = fileAction.process(da, request, response);


  }


  ……


  当各个处理类返回responseURI后,判断是否是。jsp,如果是,则重定向到responseURI所指定的JSP页面:


  if (responseURI.endsWith(".jsp")) {


  request.getRequestDispatcher(responseURI)。forward(request, response);


  }


  此外,在WebManager的init()的函数中,加入了需要启动的收发数据的线程和判断终端下线的任务线程,从而使这两个线程随股票软件定制系统的启动而自动启动。


  股票软件定制系统中自己定义了WebManager作为MVC的控制器,而没有采用开源的中间件,主要出于以下几方面的考虑:(1)开源的中间件一般功能强大,同时实现较多功能,而系统对于这部分的要求不高,使用不到开源中间件提供的功能,造成“浪费”;(2)开源的中间件一般会使用大量其他程序组件,系统引入这些程序组件会给系统造成潜在的冲突;(3)开源软件可能存在未知的问题,如果出现问题不利于系统调试。