Firefox plugin插件开发及冲击响应实现

    这两周一直在做Firefox插件的工作,以及一些冲击响应模型的实现。

    工作基本分为四部分:一插件开发,一开始还打算用ActiveX,后来BOSS说Firefox不太容易实现,转至用静态库去实现firefox plugin。三天时间基本实现这个插件,开发周期很短,工作很顺利,顺利在vc6.0编译npruntime(建议不要使用太高的版本xulrunner-sdk,否则会引入新问题,我使用1.9.0),实现scripting与javascript的交互。(https://developer.mozilla.org/en/Gecko_Plugin_API_Reference)(http://www.cppblog.com/epubcn/category/8842.html)。这里有个注意的问题:plugin中不能使用new直接申请空间,必须使用np_memalloc()去申请。

     二,根据我们应用的模型,开发一个小程序去实现冲击响应。前后台都用到了以前没有写过的东西,后台写了几个servlet(类似以前写的action,问题不大),后又使用jni引入安全计算插件(以前没用过,折腾了半天),前台问题主要在对于jsp中变量与javascript的交互,以及以前没有直接使用过纯xhrrequest(我们使用封装的dojo实现),原理一致,很快pass掉。这部工作主要验证流程的可靠性。

     三,把冲击响应模型添加到我们项目中,由于其中spring security的存在,登陆过程的两步化,使困难有些大,不过都过去了。其中,第一步不是实质性的登陆,只是让其屏蔽了过滤器,容易实现。最麻烦的是第二步和第一步有一个数据需要传递,为了这个问题奋斗了两天,以前考虑用session实现,在第二步位于过滤器很深的层次,无法直接得到session,要改需要修改5,6个类,太麻烦了。甚至和boss商量用数据库读写,最后在boss提醒下,利用了一个filter中变量(AuthenticationDetails的重新实现)进行session的提取,并在之后读取之。之后又发现一个问题:jni对于dll使用是使用包名+函数名去定位的,以至于我将工程名改了以后一直弹出loadlibary()V的错误。(stackoverflow上有个厉害解答。http://stackoverflow.com/questions/1403788/java-lang-unsatisfiedlinkerror-no-dll-in-java-library-path)

     四,重新优化流程中的错误处理,将一些数据库相关的过程进行仔细处理,这也是我现在在做的。另外,我今天重新将插件代码仔细看了,很是佩服,源代码写得很漂亮,一些逻辑仔细推敲很有嚼头,很好的实现了解耦。并且把插件实现了能够下载安装(注意压缩时不要对存放install.rdf和plugins的文件夹压缩,应对提到的两部分进行压缩:)。

     虽然写了这么多,可是自己总是回顾这短时间究竟进步什么了,总是一头茫然,继续量变吧。

你可能感兴趣的:(职场,休闲,冲击响应,Firefoxplulgin)