阅读更多
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),一直在做毕业设计,最近需要做...

  • (源码)基于C语言的SmartPlugModbus固件项目.zip

    # 基于C语言的SmartPlugModbus固件项目 ## 项目简介 该项目是一个基于C语言的固件项目,旨在实现一个支持Modbus RTU通信协议的智能设备固件。该固件被设计为与SmartPlugModbus设备配合使用,用于控制和管理多个电源插座,提供过流、欠流、过压、欠压和过热保护,同时监控插座状态和电压、电流等参数。 ## 项目的主要特性和功能 1. Modbus RTU通信协议支持固件实现了Modbus RTU通信协议,允许通过Modbus协议与设备进行通信,包括读取和写入设备参数、状态和控制命令。 2. 多插座控制固件支持控制多个电源插座,包括开启、关闭、查询状态等。 3. 保护功能设备提供过流、欠流、过压、欠压和过热保护,防止设备损坏和安全事故。 4. 参数配置通过Modbus协议,用户可以配置设备的保护参数,如电流、电压限制等。

  • 毕设单片机实战项目基于ESP8266 Mesh SDK开发,通过HSPI与STM32通讯.zip

    【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

  • 毕业设计物联网实战项目基于龙芯派的物联网食品仓储监测系统.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

  • (源码)基于嵌入式系统的StackAttack游戏项目.zip

    # 基于嵌入式系统的StackAttack游戏项目 ## 项目简介 StackAttack是一个基于嵌入式系统的游戏项目,设计用于SPI TFT彩色液晶显示面板上运行。游戏的核心玩法是操控一个名为“Claw”(爪子)的游戏角色,在由格子组成的地图上移动并抓取箱子。玩家通过操纵杆控制游戏角色,成功抓取并移动箱子到目标位置后得分。游戏地图由二维数组表示,每个格子代表一个位置。当玩家成功将所有箱子移动到目标行时,游戏结束。 ## 项目的主要特性和功能 1. 游戏角色控制玩家通过操纵杆控制Claw(爪子)角色移动。 2. 地图和箱子管理游戏地图由二维数组表示,每个格子代表一个位置。箱子在游戏地图上的位置由数组中的值表示。 3. 游戏逻辑包括角色的移动、箱子的抓取和移动、得分计算等。 4. 图形显示使用SPITFTILI9341图形库控制SPI TFT显示屏,实现游戏的图形输出。 5. 暂停功能游戏支持暂停功能,方便玩家随时暂停游戏。

  • 【嵌入式系统与计算机视觉】基于STM32、OpenCV和CNN的车牌识别系统:社区车辆管理与收费应用

    内容概要:本文档提供了基于STM32、OpenCV和卷积神经网络的车牌识别系统的完整代码示例。系统通过摄像头捕捉视频流,利用OpenCV进行图像处理(如灰度化、二值化、轮廓检测等)以定位车牌区域,并使用预训练的ONNX模型对车牌字符进行识别。之后,系统将识别到的车牌号与预先存储在CSV文件中的居民车牌数据库进行匹配,以判断车辆是否为小区居民所有,从而实现对外来车辆的收费管理。; 适合人群:对嵌入式系统开发、计算机视觉和深度学习感兴趣的开发者,尤其是有一定C++编程基础和技术背景的研究人员或工程师。; 使用场景及目标:①适用于社区、停车场等场所的车辆管理;②帮助开发者理解车牌识别的基本流程,包括图像预处理、车牌定位、字符识别以及与数据库的交互;③提供一个可扩展的基础框架,便于后续优化和功能增加。; 阅读建议:读者应确保具备基本的OpenCV库使用经验和C++编程能力。在学习过程中,建议同时参考相关文献资料,深入理解每个步骤背后的原理,并尝试调整参数或替换模型以提高识别精度。此外,还需准备相应的硬件设备(如摄像头)和软件环境(如安装OpenCV库),以便实际运行代码并观察效果。

  • fregefffewfw

    efwfw

  • 基于S7-200 PLC与MCGS组态的智能交通灯控制系统设计与实现

    内容概要:本文详细介绍了利用西门子S7-200 PLC和MCGS组态软件构建智能交通灯控制系统的方法。首先阐述了系统的硬件配置,包括PLC的选择、IO分配、光电开关的应用等。接着深入探讨了梯形图编程的核心逻辑,如定时器嵌套、车流判断、紧急模式处理等。同时,还讲解了MCGS组态界面的设计要点,如动态指示灯、车流统计曲线、急停按钮等功能的实现。此外,文中分享了一些调试经验和优化技巧,如信号隔离、通信参数设置、夜间模式优化等。 适合人群:对PLC编程和工业自动化感兴趣的工程技术人员、高校相关专业学生。 使用场景及目标:适用于城市交通管理部门进行智能交通灯系统的规划与实施,旨在提高交通效率,减少拥堵。通过学习本文,读者能够掌握PLC编程的基本方法和MCGS组态软件的使用技巧。 其他说明:文中提供了详细的接线图、梯形图代码片段和组态界面截图,便于读者理解和实践。同时,作者还分享了许多实际操作中的注意事项和经验教训,有助于初学者少走弯路。

Global site tag (gtag.js) - Google Analytics