Your SlideShare is downloading. ×
香港六合彩
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

香港六合彩

777
views

Published on

付诺溪抹香港六合彩桌子扫地挥汗如雨,女主管双肘架在胸前一直在香港六合彩旁边对她进行着九年制以外的义务教育,日本某财政大臣就是从刷香港六合彩马桶起家的,每次刷完马桶还舀一杯厕水喝到肚子里,以香港六合彩表示自己刷洗得干净。芳达说这些话的时候脸上能刮下一层霜,在夜里,头痛香港六合彩症常常跳出来令她难以入睡,然而一到早晨,她准香港六合彩确无误地站在这儿,义正词严地对职员们进行种种呵香港六合彩斥。 …

付诺溪抹香港六合彩桌子扫地挥汗如雨,女主管双肘架在胸前一直在香港六合彩旁边对她进行着九年制以外的义务教育,日本某财政大臣就是从刷香港六合彩马桶起家的,每次刷完马桶还舀一杯厕水喝到肚子里,以香港六合彩表示自己刷洗得干净。芳达说这些话的时候脸上能刮下一层霜,在夜里,头痛香港六合彩症常常跳出来令她难以入睡,然而一到早晨,她准香港六合彩确无误地站在这儿,义正词严地对职员们进行种种呵香港六合彩斥。
对日本人的憎恨从付诺溪汗湿的毛孔往外渗,真香港六合彩奇怪,大和民族总是能想出那么多自虐和虐待别人香港六合彩的方式,变态骨血生生不息,去他妈的日本人。对了,香港六合彩难道就是因为崇拜日本的管理模式,女主管才给自香港六合彩己起了个芳达的名字?何必模棱两可假模假式,干香港六合彩脆直接取那个日本女汉奸的名字叫川岛芳子多痛快淋漓。
地板擦干净了,香港六合彩可以当镜子照,穿借来的名牌衣服干活得格外小心,香港六合彩如果弄脏还得支付一笔不小的干洗费。付诺溪刚来深圳一个星期,除了分摊的房租和香港六合彩水电费押金,腰里盘缠所剩无几,昨晚她兴奋得整香港六合彩夜没睡,满心以为找到一份白领的工作,现在却做着蓝领的香港六合彩事情

Published in: Technology, News & Politics

2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
777
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
2
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. jmatrix 介绍 matrix.org.cn
  • 2. 目 录
    • 历史与定位
    • 功能简介
    • 技术架构
    • 技术点探讨
    • 未来
  • 3. Jmatrix 由来与定位
    • Matrix 网站的历史原因 : ASP 系统
    • Java 开源的网站系统里没有合适的
    • 网站全站系统
    • 基于 Java
    • 开源:探索开源的方式
  • 4. jmatrix 历史
    • Matrix 网站 2003.6 成立,原来是 CS 网站
    • 2003.9-2004.9 大家在讨论甚至开始写了点需求,来做 JSP 全站系统。未果
    • 2004.9 开始 jmatrix 项目
    • 2005.4 开始测试。后补充完善并正式投入使用
    • 2005.8 经过几个月的试运行,发布 1.0 beta 版本
    • 之前一年:因为工作原因空余时间有限,没有能开源发布出来,只是不断根据 matrix 网站的需求增改功能、修订 bug 。
    • 现在:发布开源 jmatrx ,当前版本是 1.4.6
  • 5. 目 录
    • 历史与定位
    • 功能简介
    • 技术架构
    • 技术点探讨
    • 未来
  • 6. 功能简介
    • 论坛 Forum (分类、嵌套)
    • 新闻 News
    • 文章 Article
    • 资源 Resource (Download Server)
    • 评论 Review (Article/News/Resource)
    • 通用功能 Common
      • Upload/Favorate/Link/Editor/Recommend/Vote/Poll/Ipfilter/Message
  • 7. 目 录
    • 历史与定位
    • 功能简介
    • 技术架构
    • 技术点探讨
    • 未来
  • 8. 技术架构
    • Database mysql/hsqldb/derby
    • Persistence ibatis (cache)
    • Business spring
    • Presentation struts
    • View sitemesh + JSTL + ajax
    • Sync jms
  • 9. 目 录
    • 历史与定位
    • 功能简介
    • 技术架构
    • 技术点探讨
    • 未来
  • 10. 技术点探讨
    • Spring 的使用 : config/transaction
    • 双通问题的解决: AOP+JMS
    • DWR 验证 : bean validator
    • Sitemesh 的使用 : html/decorators
    • Wiki 集成 : wikilink / xmlrpc logon
    • 可配置 editor : BBCode/FCKeditor
  • 11. Spring 的使用
  • 12. Spring 的使用 2
  • 13. 双通问题
    • 中国特定历史时期的特定问题
    • Mysql repl 连接不能保证
    • Service 方法: JMS + AOP
    • 文件同步: WebSync 软件
  • 14. 双通问题 2
    • public class JmsRemoteServiceInvokeAdvice implements MethodBeforeAdvice {
    • … ..
    • public void before(Method method, Object[] args, Object target) throws Throwable {
    • Class[] paramType = null ;
        • if ( null != args) {
        • paramType = new Class[args.length];
        • for ( int i = 0; i < args.length; i++) {
        • paramType[i] = args[i].getClass();
        • }
        • }
        • ServiceInvokeBean methodInvoke = new ServiceInvokeBean(
        • method.getDeclaringClass().getName(),
        • method.getName(), paramType, args, ( new java.util.Date()).toString());
        • jmsTemplate.convertAndSend(jmsQueueOut, methodInvoke);
    • }
    • }
  • 15. DWR 验证
    • 提供 js 写代码调用验证,是不太可靠的
    • 典型的提交数据的方法,也是提交一个 bean ,比如 Review
    • Commons-validator 就是针对 bean 做验证
    • 于是借鉴下 struts 对 validator 的使用方式,对 dwr 提交数据做可配置验证,当前直接使用原来 struts 的 validator 配置文件,也输出国际化消息
    • 在 DWR 侧,也是配置到他的配置里,需要对 dwr 本身做少量的修改,认识配置文件内容
  • 16. DWR 验证 2
    • <servlet>
      • <servlet-name>dwr-invoker</servlet-name>
      • <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
      • <init-param>
        • <param-name>debug</param-name>
        • <param-value>true</param-value>
      • </init-param>
      • <init-param>
        • <param-name>uk.ltd.getahead.dwr.ConverterManager</param-name>
        • <param-value>cn.org.matrix.jmatrix.ajax.ValidatorConverterManager</param-value>
      • </init-param>
    • </servlet>
    • <allow>
      • <convert converter=&quot;bean&quot; match=&quot;cn.org.matrix.jmatrix.ajax.AjaxResult&quot; />
      • <convert converter=&quot;bean&quot; match=&quot;cn.org.matrix.jmatrix.content.domain.Review&quot;>
      • <param name=&quot;validator&quot; value=&quot;reviewBean&quot;></param>
      • </convert>
      • <convert converter=&quot;bean&quot; match=&quot;cn.org.matrix.jmatrix.common.domain.Vote&quot;></convert>
      • <create creator=&quot;spring&quot; javascript=&quot;ContentFacade&quot;>
      • <param name=&quot;beanName&quot; value=&quot;contentFacade&quot;/>
      • </create>
    • </allow>
  • 17. DWR 验证 3
    • protected ActionErrors validate(HttpServletRequest request, String validationKey, Object validationBean) {
    • ServletContext application = request.getSession().getServletContext();
    • ActionErrors errors = new ActionErrors();
    • Validator validator = Resources. initValidator (validationKey,
    • validationBean, application, request, errors, 1);
    • try {
    • validator.validate();
    • } catch (ValidatorException e) {
    • log .error(e.getMessage(), e);
    • }
    • return errors;
    • }
    • String validationKey = (String) getApplication().getAttribute(
    • Globals. AJAX_VALIDATOR + &quot;_&quot; + Review. class .getName());
    • ActionMessages actionMessages = validate(getRequest(), validationKey, review);
  • 18. Sitemesh 的使用
    • 分析 HTML 分析结构,非常巧妙的办法
    • 只需要关注主文件, header/footer 这些通过 decorator 自动搞定
    • 不只是 jsp 文件会过滤, HTML 文件也会过滤,只要是走 Servlet 容器
    • 当前版本处理中文还有点问题,需要修改一个文件
  • 19. Sitemesh 的使用2
    • <decorator name=&quot;main&quot; page=&quot;dec_main.jsp&quot;>
    • <pattern>/*.shtml</pattern>
    • </decorator>
    • <decorator name=&quot;blank&quot; page=&quot;dec_blank.jsp&quot;>
    • <pattern>/upload*.shtml</pattern>
    • <pattern>/dynamic*.shtml</pattern>
    • </decorator>
  • 20. Wiki 集成
    • Wiki Link
      • [MatrixJava] [Jmatrix] [SUN]
      • 发布内容时编辑者主动加上 wiki_link
    • Keywords Link
      • 设置关键词 s
      • 系统扫描内容,自动匹配加上 wiki link
    • Wiki 用户
      • 直接使用 matrix 用户,通过 xmlrpc 远程调用
  • 21. 可配置 editor
    • 通过 spring 配置文件加载 editor
    • 指定 editor name 即处理内容时
      • 不同的 process
      • Jsp include 不同
    • 这种可配置是否有很大的意义?
  • 22. 可配置 editor2
    • <bean id=&quot;contentProcessor&quot; class=&quot;cn.org.matrix.jmatrix.util.ContentProcessor&quot;>
    • <property name=&quot;editors&quot;>
    • <list>
          • <ref bean=&quot;bbcode&quot;></ref>
          • <ref bean=&quot;fckeditor&quot;></ref>
    • </list>
    • </property>
      • <property name=&quot;defaultEditorName&quot;><value>bbcode</value></property>
      • <property name=&quot;wikiBaseUrl&quot;><value>http://wiki.matrix.org.cn</value></property>
    • </bean>
    • <bean id=&quot;fckeditor&quot; class=&quot;cn.org.matrix.jmatrix.util.editor.CommonEditor&quot; >
      • <property name=&quot;name&quot;><value>fckeditor</value></property>
      • <property name=&quot;description&quot;><value>FCK Editor from sourceforge</value></property>
      • <property name=&quot;parseWikiKeywordsLink&quot;><value>true</value></property>
      • <property name=&quot;pageIncludeFile&quot;><value>/common/editor/includeFCKEditor.jsp</value></property>
    • </bean>
  • 23. 可配置 editor3
    • <html:select property=&quot;selectEditor&quot;
    • onchange=&quot;document.forms[0].changeEditor.value='change';
    • document.forms[0].submit();&quot;>
        • <html:optionsCollection property=&quot;contentEditorList“
        • label=&quot;name&quot; value=&quot;name&quot; />
    • </html:select>
    • <jsp:include page=&quot;${articleForm.selectEditorPage}&quot; flush=&quot;true&quot;>
      • <jsp:param name=&quot;editor_name&quot; value=&quot;editorContent&quot; />
      • <jsp:param name=&quot;editor_height&quot; value=&quot;400&quot; />
      • <jsp:param name=&quot;editor_init&quot; value=&quot;${articleForm.content2}&quot; />
      • <jsp:param name=&quot;editor_toolbarSet&quot; value=&quot;Basic&quot; />
    • </jsp:include>
  • 24. 目 录
    • 历史与定位
    • 功能简介
    • 技术架构
    • 几个技术点探讨
    • 未来
  • 25. 未来
    • 倾听与满足用户需求 
    • Roller Blog 集成
      • 用户, group blog
    • 向 CMS 标准、规范靠拢
      • 不一定用 JSR 170
    • 扩展点 Extension Point
    • Template
    • Plugin
  • 26.
    • Thank you

×