阅读更多
JavaEye的资深会员downpour发起了开源项目LightURL。首先让我们了解一下LightURL:

背景:Struts2已经日益成为Web层比较主流的开发框架,它来源于Webwork2,是一个非常优秀的MVC框架。在Webwork2设计之处,Annotation和Ruby on Rails还没有像现在那么火,所以整个框架在配置方面还是沿用了Web框架惯用的XML作为主要的配置方式。

随着时代的发展,对于Web程序员来说,如何简化配置成了一个很重要的课题。在这方面,Struts2也有一些探索。在Struts2的官方网站上,我们可以找到一些优秀的plugin来做这些工作:codebehind-plugin,smarturls-plugin.

LightURL的目的是为了吸取这些优秀的plugin的优点,并支持更方便的配置方式。

downpour 是一位资深的Java开发者和优秀开源开发者,写了大量很多的技术文章,比如《忘记李刚,一步一步跟我学Struts2 系列》,JavaEye非常荣幸的采访了他。

downpour 博客:http://downpour.iteye.com/

欢迎大家推荐更多开源项目给我们,支持中国的开源项目发展,发站内短信给JavaEye管理员或者发信到webmaster@iteye.com,谢谢。

采访LightURL开源项目作者downpour Top

JavaEye:1. hi,downpour 你好,非常荣幸能够采访你。你能介绍一下LightURL开源项目吗?

downpour : LightURL是一个Struts2的插件,通过使用这个插件,能够极大的简化Struts2的配置。从更深的意义上说,我也希望通过LightURL的使用,能够使得程序员更加慎重的去思考表示层的代码的规划以及URL地址的合理规划。从理念上,使得整个表示层更体现出它的价值。

JavaEye:2.你为什么要开发LightURL项目呢?出发点和希望解决的问题是什么?

downpour: Struts2是我在平时开发中经常使用的一个表示层框架,在使用的过程中,发现其配置非常繁琐。所以最初的目的是为了能够少写很多配置文件从而提高开发效率。后来在使用的过程中,我逐渐发现,这个项目最终不仅简化了配置,同时规范了许多表示层的开发习惯,使得很多代码能够自然而然的放到其应该存在的地方去。

JavaEye:3.LightURL主要有哪些特点呢?相比同类型的项目有什么优势呢?

downpour:通过插件方式来简化Struts2配置的开源项目有很多,在Struts2的官方网站上,我们可以找到一些优秀的plugin来做这些工作:http://cwiki.apache.org/S2PLUGINS/codebehind-plugin.htmlhttp://cwiki.apache.org/S2PLUGINS/smarturls-plugin.html 。在Struts2.1.6的版本之后,自带了一个convention-plugin,几乎囊括了所有简化配置方面的精华。

而LightURL本身吸取了上面3个提到的插件的优点,并且在此基础上提出了URLTemplate的Annotation配置方式以及Command方式的ResultCode这两大特色。这两点分别解决了表示层需要进行配置的两个不同的方面:URL映射Action类以及Action转向到视图层。所以要说到LightURL最大的优势,应该说在于它是市面上所有的Struts2简化配置的方案的集大成者,同时在上面含有一定的创新性。


比较具体的项目说明,可以参考我的博客:http://downpour.iteye.com/blog/242838

JavaEye:4.LightURL未来的roadmap是什么? 你对LightURL的规划和目标是什么?

downpour:我在编写LightURL的时候,并没有制定什么roadmap,唯一的目标就是通过少写代码来提高开发效率。由于当时Struts2还处于2.0.X的稳定版本阶段,所以LightURL还只是支持Struts2.0.X的版本。我想在不久的将来,我会编写针对Struts2.1.X的版本,同时增加更多的简化配置的特性。

JavaEye:5.LightURL项目诞生多长时间了,现在你平均每天花在LightURL上的时间是多久?

downpour:LightURL的项目已经有1年半了,目前LightURL处于使用过程中,这个项目本身我已经不花费时间去维护了。

JavaEye:6.你的开发环境是什么?

downpour:windows XP,eclipse。

JavaEye:7.这个项目从什么时候开始,到现在几年了?目前LightURL是你一个人开发?还是有其他合作开发者?

downpour:LightURL的开发是由我一个人完成的,不过在整个过程中,受到了许多人的意见和启发,包括ahuaxuan和kj23,在这里,谢谢他们。

JavaEye:8.现在大概有多少用户使用LightURL项目。

downpour:LightURL我并没有花时间和精力去推广,除了在Javaeye论坛上发过帖子以外,没有在其他场合进行推广,作为一个小工具,也只是想给大家一些启示和探讨的话题。所以除了我自己主导的项目,其他使用LightURL的用户应该很少。

JavaEye:9.通过开发LightURL,你对中国的软件开发人员做开源项目有什么感受和想法吗?

downpour:中国的软件人员的能力很强,不过实际上集中在一些个人上,从总体上水平上来说,我觉得还有很多参差不齐的情况。我个人非常不赞成一个程序员,随随便便写点代码,就号称是一个Full Stack的解决方案,号称是什么开源项目。称得上是开源项目的,必须是个人能够对自己写的东西,有一个非常清醒的认识和评价的作品。所以我也从来不认为我自己开发了LightURL这样一个开源项目,这只是一个小工具,希望它能在表示层这个小小的领域解决一些小小的问题。中国的软件开发人员,应该从自我做起,少谈口号,多做实事,这样才能提高整个国家的软件开发的水平。

JavaEye:10.作为一个JavaEye的老会员,你对JavaEye网站有什么建议和意见吗?

downpour:我加入Javaeye论坛是我大学四年级的时候,我几乎所有的Java知识,都来源于Javaeye的一次又一次的激烈讨论。所以Javaeye几乎就是我成长中必不可少的良师益友。在此要对robbin同学为网站付出的巨大努力和心血而表示深深的感谢,也希望Javaeye越办越好。我也会尽我的所能,在业余时间为Javaeye多多贡献文章,充实Javaeye的内容。

downpour 介绍 Top

downpour 来自上海,土生土长的上海人。04年毕业以后就一直从事Java方面的工作,呆过的公司不少,有典型的软件外包公司、互联网企业、也有专注于领域的ERP产品的公司。目前待业在家,充实自己,同时思考未来。

除了技术,我最大的爱好是股票研究,并把它看做一个很刺激的游戏,同时也很爱运动,篮球是我的最爱(JavaEye:downpour曾经参加过javaeye篮球活动,篮球打的很好,投篮极准   )。

downpour 博客:http://downpour.iteye.com/

downpour 开心网的非主流头像:


  • 大小: 11.4 KB


评论 共 22 条
22 楼 zz13203778855 2012-11-06 16:27
9号线上见过、
21 楼 liushilang 2012-02-16 22:17
似曾相识,牛人
20 楼 eltonto 2010-07-09 16:21
吓倒我了呵呵。
19 楼 sacii 2009-10-12 14:32
看了之后,才发现原来偶又做了个轮子....  
18 楼 guazi 2009-09-10 14:17
强就一个字。。。
17 楼 墓里活人 2009-08-31 13:19
大哥,你是杨过身边的那只大雕么?
16 楼 skyxk 2009-08-31 09:53
大哥的《忘记李刚,一步一步跟我学Struts2 系列》我有幸读过,写的很不错
期待你的新文章
15 楼 myseo 2009-08-31 09:42
换个头像吧,挺XX的~哎
14 楼 frenchmay 2009-08-26 23:56
图片太强大
13 楼 faylai 2009-08-26 17:16
图片太强大了
12 楼 tk_zhang 2009-08-26 15:29
eclipse2008 写道
这不是股神嘛

呵呵,有意思~~
11 楼 netfork 2009-08-26 13:44
照片实在太囧了。。。。
10 楼 jbas 2009-08-25 11:03
用了struts2标注,struts2配置还是比较简单的。
9 楼 fangwei 2009-08-20 12:17
莫非这是一个 囧
8 楼 nathanlee 2009-08-19 11:17
股神原来业余时间搞开源项目
7 楼 phoenixup 2009-08-19 09:10
yourgame 写道
downpour 写道
lordhong 写道
大哥... 你终于露脸了啊!!!


主要怕露脸吓死人,一直不敢。。。

你这图片也够吓人的了:)

嘴唇很彪悍~~~我来围观一下~~当年,俺用Webwork PK掉Struts1,到了Struts2之后,反倒没什么机会用了,不过现在的Struts2还没有成长起来,总觉得Struts2的发展瞻前顾后,不够痛快。
6 楼 260664656 2009-08-18 15:10
图片很强啊~
5 楼 yourgame 2009-08-18 14:12
downpour 写道
lordhong 写道
大哥... 你终于露脸了啊!!!


主要怕露脸吓死人,一直不敢。。。

你这图片也够吓人的了:)
4 楼 downpour 2009-08-18 10:10
lordhong 写道
大哥... 你终于露脸了啊!!!


主要怕露脸吓死人,一直不敢。。。
3 楼 caiceclb 2009-08-18 10:07
比较期待2.1.x版本适应出来
2 楼 lordhong 2009-08-17 22:45
大哥... 你终于露脸了啊!!!
1 楼 eclipse2008 2009-08-17 16:13
这不是股神嘛

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Downpour:超级棒的 WYSIWYG 编辑器,用于超级棒的引擎

    创建一个名为Downpour的新文件夹并将构建的dylib或dll移动到其中将Downpour/Resources复制到新创建的文件夹中将Downpour文件夹移动到您的项目模块目录并更改manifest.json以加载libDownpour模块开场倾盆大雨默认...

  • SGD平行算法 - Downpour SGD (单机python多线程版)

    SGD 被广泛运用到机器学习(machine learning)中最优化等问题中,学术... [1], Delay-tolerant Algorithm for SGD [2], Elastic Average SGD [3]),本篇实现了现在比较火的Downpour SGD [4]的样例代码 (选择这个的原因引

  • DistBelief 框架下的并行随机梯度下降法 - Downpour SGD

    Corrado 等人的文章 Large Scale Distributed Deep Networks (2012) 后的一则读书笔记,重点介绍在 Google 的软件框架 DistBelief 下设计的一种用来训练大规模深度神经网络的随机梯度下降法 — Downpour SGD,该...

  • 如何学习开源框架

    在大家了解了框架的本质和Web开发模式之后,我们来讨论一下学习开源框架和基本方法。在这里,本书为大家小结了一些正确的学习方法和最佳实践,这些不仅是笔者多年开发中的心得体会,也汲取了网络上的大家之言,希望...

  • (3)如何学习开源框架

    一般而言,名为xx-blank-xxx.war的sample项目是一个开源框架最小的一个可运行的范例。所以,如果大家仔细学习这个war包中的内容,至少可以发现组成一个Struts2程序的 最小元素 到底有哪些。在其中的WEB-INF/lib目录...

  • LightURL——打造零配置的Struts2开发方式

    在完成以上的步骤后,lighturl的所有配置即告完成,现在你已经可以使用所有lighturl所提供的特性。 [b]Namespace, ActionName和URL映射[/b] lighturl所提供的最基本的特性是根据你的Action所在的package,确定...

  • SpringMVC个人理解(downpour 的SpringMVC深度探险的个人整理)

    :传统servlet在项目规模扩大之后,请求-响应的映射关系全部定义在web.xml中,将造成web.xml的不断膨胀而变得难以维护。 为解决这个问题,SpringMVC提出的方案就是: 提炼一个核心的Servlet覆盖对所有Http请求的...

  • (装载)项目管理的一点想法

    关键字: 项目管理 (装自:http://downpour.iteye.com/blog/186429) 1. 根据需求,将项目尽可能拆分 可能出现的情况是:将一个项目进行拆分,分成2到3个子项目进行单独开发。当前设想的主要可能性:主项目、统计和...

  • 快手八卦!突破TensorFlow、PyTorch并行瓶颈的开源分布式训练框架来了!

    来源:AI前线 本文约5200字,建议阅读8分钟本文介绍了专门针对分布式场景设计了特定的优化算法同比,性能较同类提升60%。 近日,快手和苏黎世理工宣布开源分布式训练框架 Bagua(...

  • 编程精华资源(ITeye优秀专栏)大汇总

    标准JDK中没有提供,或者提供了但是API不是很实用的一些在项目中经常用到的Java开源Library的用法。 rensanning Java EE 7 简明教程 本教程不会深入到每个技术的细节,仅仅只是浅尝辄止地介绍了 Java ...

  • 在Intellij Idea中使用Maven创建SpringMVC项目

    最最最傻瓜式的创建Spring MVC新项目,我就是个小白……写的会很细,借鉴类很多但是还有好多没懂,欢迎指正~ 一、新建项目 1、点击Create New Project 2、选择maven,勾选create from archetype,选择webapp...

  • AI绘画——本地配置webui启动器教程,支持一键启动/修复/更新/模型下载管理+Lora模型推荐

    秋葉aaaki的个人空间_哔哩哔哩_bilibilihttps://space.bilibili.com/12566101/?spm_id_from=333.999.0.0 感谢秋葉aaaki大佬の免费开源 目录 1.获取资源整合包 2. 下载并配置webui启动器 3.启动器功能 4.一键启动,...

  • 让Downpour的<Spring Security 2 配置精讲>简单化,大家一起学习

    ,系Downpour原创   -------------------------Begin----------------------------    &quot;Spring Security 2 配置精讲&quot; 让我认识了Spring Security(以下都简称Security),一直在做毕业设计,最近需要做...

  • 5116-微信小程序电影院订票选座系统设计及实现+ssm(源码+数据库+lun文).zip

    本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。

  • JavaScript 中的 `Array.prototype.filter` 方法全解析

    在 JavaScript 编程中,处理数组是一项基本而重要的任务。数组的过滤操作是其中的一个常见需求,Array.prototype.filter 方法为此提供了强大的支持。本文将深入探讨 Array.prototype.filter 方法的工作原理、使用场景、代码示例以及与其他数组方法的比较。 Array.prototype.filter 是 JavaScript 中处理数组的强大工具,它允许开发者以声明式的方式轻松筛选出符合特定条件的元素。通过结合使用 Array.prototype.filter 和其他数组方法,可以解决各种复杂的数据筛选问题。 通过本文的详细介绍和示例代码,你应该能够掌握 Array.prototype.filter 的工作原理,并能够在实际开发中灵活运用它来处理数组数据。此外,了解其与 Array.prototype.map 和 Array.prototype.reduce 的结合使用,可以帮助你更好地编写高效且易于维护的代码。

  • 5108-微信小程序的书橱+ssm(源码+数据库+lun文).zip

    本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。

  • 5046-微信小程序校园二手交易平台的小程序+ssm(源码+数据库+lun文).zip

    本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。本系统主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。

  • SMT小型视觉贴片机控制系统源码源代码图纸 DI

    SMT小型视觉贴片机控制系统源码源代码图纸 DI

  • 图书馆自动化管理系统.zip

    这是一个基于Apache kafka、Docker Compose、MongoDB和Flask技术的图书馆自动化管理系统。该项目旨在实现图书馆的各项服务自动化,包括图书借阅、预约和搜索功能。通过Flask构建REST API,使用MongoDB存储和管理图书、用户、借阅记录、罚款和预约等相关数据。apache Kafka用于系统各组件之间的消息通信,确保消息传递的可靠性和可扩展性。项目还实现了用户认证和授权功能,通过JWT进行安全认证和授权。每个对系统服务的请求都需要使用JWT进行验证。项目提供了全面的文档,解释了系统架构、数据库模式和API端点。同时,项目明确了所有依赖关系,并提供了环境搭建指南,便于其他开发者轻松复制环境。此外,项目还包含测试用例,以确保关键功能的正常运行。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

  • 【前景培训教材】第九章4G和5G信令流程.pdf

    以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。

Global site tag (gtag.js) - Google Analytics