商业数据构造-wf层和页面书写

昨天把scf层的写好了,今天想说一下wf层暴露http接口简单说一下。这里面说得scf,wf其实就是对应工程两个不同的包,bll放置的就是连接scf的数据包装,controllers放置就是构造好的htpp请求,前端页面请求http接口->controllers->bll->数据写入数据库,如图

这个是目前的工程目录,后面马上会改这个目录,但是整体的思路还是一样的。今天就简单说一下如何构造http接口,如图:

这个方法上面@Path(路由),就是接口名称。参数zzuserid是前端js传过来的。js代码如图:

js前面还有对应静态的html页面,

所以整体流程变成了

html页面展示->js获取参数->controllers.BizUserController对应接口->bll.UserBll->完成mysql数据的写入。

但是html页面也需要有一个接口返回,这样请求到/showbizuser接口的时候,返回Bizuser的页面

路径怎么找呢,看一下工程目录,如图:

这样整体的思路就串起来了

请求接口1->一个静态页面->js获取参数值请求->http获取做处理->scf服务->写入数据库。一个完整的数据构造流程。

页面样式如图:

这里面遇到一个小坑,你想运行必须要有一个容器嘛,一般tomcat,本地调试运行jetty这个小插件运行比较方便,

安装方式如果有maven的话直接在配置文件写入就可以了

有需要直接放到里面也行
<plugin>
   <!-- http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin -->
   <groupId>org.mortbay.jetty</groupId>
   <artifactId>jetty-maven-plugin</artifactId>
   <version>8.1.13.v20130916</version>
   <configuration>
      <stopPort>9966</stopPort>
      <stopKey>foo</stopKey>
      <scanIntervalSeconds>0</scanIntervalSeconds>
      <connectors>
         <connector
            implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
            <port>80</port>
            <maxIdleTime>60000</maxIdleTime>
         </connector>
      </connectors>
      <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
      <webAppConfig>
         <contextPath>/</contextPath>
         <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
      </webAppConfig>
   </configuration>
</plugin>

安装jetty后样式如图:

坑:我在给文件起名字的时候手误多加了一个s,如图

这样呢调用jetty.run运行扫文件的时候就没有扫到

如果没有成功加载出来说明成功,你修改完成后必须要先clean一下在运行,

步骤:修改文件名称后->clean->jetty.run

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
坚持学习WF(1):从HelloWorld开始 本文主要通过实现了一个可以接受参数的HelloWorld程序来了解WF。 坚持学习WF(2):WF创作模式和设计时工具 坚持学习WF(3):WF框架概览 2.3两篇主要全面的阐述了WF框架和Visual Studio对开发WF的一些设计时的工具。 坚持学习WF(4):活动(Activity)和依赖属性(DependencyProperty) 坚持学习WF(5):自定义活动(CustomActivity) 4.5两篇对主要对活动(Actibity)的介绍和依赖属性(DependencyObject)和DependencyProperty事件的使用。 坚持学习WF(6):开发可复用的宿主程序 主要实现两个类来对WorkflowInstance和WorkflowRuntime进行简单的封装。 坚持学习WF(7):流程控制(Flow Control) 主要说了WF中和流程相关的活动,主要包括以下这些活动:IfElseActivity,WhileActivity,ParallelActivity,ReplicatorActivity,ConditionedActivityGroup,InvokeWorkflowActivity,TerminateActivity,SuspendActivity等。 坚持学习WF(8):本地服务之调用外部方法 坚持学习WF(9):本地服务之事件处理 工作流能够使用方法和事件通过消息与宿主程序交互。 事件用于将数据发送到工作流,而工作流使用方法将数据发送到主机应用程序,8.9两篇主要说了本地服务如何调用外部方法和接收事件。 坚持学习WF(10):在工作流中使用关联 当工作流实例在本地服务接口上侦听相同事件的不同实例时,就无法确定该响应哪个事件。如何解决这个问题呢,我们就需要在工作流中使用关联。 坚持学习WF(11):工作流通信与队列 WF 提供的通信模型是构建于队列系统的基础之上,我们可以使用自定义活动来注册以接收关于队列的消息,而宿主应用程序中的服务则发送关于队列的消息。自定义活动可以使用此模型来处理外部事件,也可以传递异步活动执行的完成。这样,您的活动可以先执行到某一点,然后等待激发因素的到来以便继续执行。 坚持学习WF(12):使用EventHandlingScopeActivity活动 EventHandlingScopeActivity活动包含一个主线子活动和一组事件处理活动(EventHandlersActivity),它的主线子活动中只能包含一个子活动。它会执行其主子活动比如SequenceActivity。 同时,可能会执行每个EventDrivenActivity,也可能不执行它们,这取决于在SequenceActivity 活动执行时是否发生了它们的事件,当主线活动执行完了整个EventHandlingScopeActivity活动也就结束了。 坚持学习WF(13):WF中的持久化服务 主要介绍了如何使用WF中提供的SqlWorkflowPersistenceService来进行持久化存储。 坚持学习WF(14):自定义持久化服务 我们除了使用WF提供的SqlWorkflowPersistenceService外,还可以自定义持久化服务。因为有的时候你可能不想使用Sql Server数据库,我们就可以通过自定义持久化服务来使用其他的数据库,文件等来进行持久化存储。 坚持学习WF(15):状态机工作流 本文主要介绍WF中状态机工作流的基础知识,状态机工作流和顺序型工作流不同。顺序型工作流一般是比较固定的,可预测的,和系统交互的时候比较多。而状态机工作流一般是不可预测,和人的交互会比较多一些,一般有回退流程的时候使用状态机工作流会比较好一点,如何正确的选择顺序型工作流还是状态机工作流是十分重要的。 坚持学习WF(16):WF中的事务 在关系型数据库中支持事务已经有10几年了,事务用来解决数据的完整性、一致性等等问题。在WF中提供了TransactionScopeActivity活动用来支持事务,当该活动执行时一个System.Transactions.Transaction实例就被创建了,如果TransactionScopeActivity中的子活动有一个有异常,就会执行回滚操作。 坚持学习WF(17):WF中的补偿 事务是你在做一组更新时要不成功,要不失败,不可能只部分更新。事务最经典的使用场合就是在关系型数据库中。补偿是取消之前已经成功的操作,在我们的工作流中我们可能完成一项任务有很多活动组成,比如我们的活动都使用了TransactionScopeActivity,我们在之后发现错误了,想要取消之前成功的操作,这个和事务就没有关系了,因为事务已经成功了。这个时候我们就可以使用补偿。 坚持学习WF(18):使用IPendingWork接口 WF会定期在各个持久性点(Persistence Point)检查并将工作流实例保存到持久化存储中,这样如果工作流出现错误或是异常终止时相关的信息就会被存储,下次加载工作流实例时就会从此做为开始点。这个主要是针对工作内置的服务。工作流的外部服务使用工作批次来保留状态信息。 这些服务对其工作项进行批处理并共享与工作流的事务相同的事务。 如果工作流尚未提交事务,则服务仍可以在持久点期间对某些工作项进行批处理。WF提供 IWorkBatch 和 IPendingWork 以帮助服务和工作流实例保留状态信息。 坚持学习WF(19):工作流线程 WF中提供了很多内置的服务,其中工作流计划服务是用来管理工作流实例线程的。默认情况下WF会自动使用DefaultWorkflowSchedulerService服务,我们还可以手动去加载ManualWorkflowSchedulerService服务。本文利用MSDN中的一个例子来说明工作流中的线程以及如何使用DefaultWorkflowSchedulerService和ManualWorkflowSchedulerService服务。 坚持学习WF(20):规则引擎中的活动条件 坚持学习WF(21):规则引擎中的RuleSet 坚持学习WF(22):跟踪规则 坚持学习WF(23):以代码的方式构造和执行RuleSet WF提供了非常灵活,强大和简单易懂的规则引擎。这几篇文章介绍了WF中规则引擎的相关知识。 坚持学习WF(24):WF中的异常处理 坚持学习WF(25):取消容器(CancellationHandlerActivity) 说明了WF如果捕获和处理异常,并介绍了CancellationHandlerActivity活动的基本使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值