阅读更多

11顶
2踩

企业架构
Portal-Basic 是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate、MyBatis 与 JDBC DAO 组件),集成了 Action 拦截、Form / Dao / Spring Bean 装配、国际化、文件上传下载和页面静态化等基础 Web 应用组件,提供高效灵活的纯 Jsp/Servlet API 编程模型,可完美整合 Spring,支持 Action Convention,能快速开发传统风格和 RESTful 风格应用程序,文档和示例完善,非常容易学习。

Portal-Basic 源码、示例及文档资源:https://code.google.com/p/portal-basic/

Portal-Basic在设计之初就充分注重功能、性能与使用体验。Portal-Basic主要特点:

  • 功能全面:内置稳定高效的MVC基础架构和DAO框架,支持Action拦截、Form Bean / Dao Bean / Spring Bean装配和声明式事务,提供国际化、文件上传下载、缓存和页面静态化等常用Web组件,能满足绝大部分Web应用的需要。
  • 高度扩展:Portal-Basic通过的plug-in机制可以灵活扩展,Portal-Basic发布包中自带的portal-basic-ext-rest和portal-basic-ext-spring均以插件的形式提供,用户可根据需要加载或卸载这些插件。应用程序开发者也可以根据实际需要编写自定义插件来扩展Portal-Basic。
  • 强大的整合能力:Portal-Basic是一个Full-Stack框架,同时也是一个开放式框架,可以以非常简单的方式整合第三方组件。本开发手册会详细阐述如何在Portal-Basic中整合FreeMarker、Velocity、UrlRewrite、EHCache-Web、Spring、Hibernate和MyBaits等常用框架和组件。
  • 高性能:性能要求是Portal-Basic的硬性指标,从每个模块的设计到每行代码的实现都力求简洁高效。另外,Portal-Basic并没有对JSP/Servet API进行过多封装,开发者仍然使用JSP/Servet API开发应用程序,没有过多的迂回,性能得到保证。
  • 优秀的使用体验:Portal-Basic的设计目标之一是提供良好的开发体验,尽量减少应用程序开发者的工作,API的设计力求简单、完整、明确。同时,Portal-Basic为应用开发提供了大量Util工具,用来处理应用程序开发过程中通常会遇到的一般性问题,进一步减少应用程序开发者的工作负担。
  • 平缓的学习曲线:平缓的学习曲线:学习使用Portal-Basic只需掌握一定的Core Java与JSP/Servlet知识,本开发手册会循序渐进阐述每个知识点,每个知识点都会结合完整的示例进行讲述,知识点之间前后呼应,确保学习者在学习时温故知新,融会贯通。
  • 完善的技术支持:除了提供完善的开发手册和示例代码以外,还提供博客和Q~Q~群用于解答使用Portal-Basic过程中碰到的所有问题。
Portal-Basic 总体架构



Portal-Basic 应用程序依赖关系



Portal-Basic 3.1.1 更新:

1、支持异步 Action(“异步处理” 是 Servlet 3.0 的新特性之一):

  • com.bruce.mvc 包中增加异步任务接口 AsyncTask 及实现类 AbstractAsyncTask、ActionTask
  • com.bruce.mvc.ActionSupport 增加异步处理相关方法:startAsync(...)
2、支持异步 REST Action(在 portal-basic-exe-rest-3.1.1 插件中实现):

  • com.bruce.ext.rest 包中增加 REST 异步任务实现类 RestActionTask
  • com.bruce.ext.rest.RestActionSupport 增加异步处理支持
3、增加两个 JDBC SessionMgr:

  • com.bruce.dao.jdbc.DruidSessionMgr :使用 Druid 连接池连接数据库
  • com.bruce.dao.jdbc.JndiSessionMgr  :使用 JNDI 连接池连接数据库
4、其它更新:

  • 测试工程 MyPortal 加入异步处理 Action 请求和异步 Rest Action 请求示例
  • 测试工程 MyPortal 的所有 Hibernate 和 JDBC 示例都使用 Druid 取代原来的 Proxool 连接池
  • 开发手册《Portal-Basic Java Web 应用开发框架(v3.1.20130420)》加入 “异步 Action” 章节
  • Portal-Basic 的依赖库 “portal-basic-lib” 和 “spring-lib” 中的所有 jar 包更新到最新版本
5、应用程序升级说明:

  • Portal-Basic 3.1.1 的 “异步处理” 功能只适用于支持 Servlet 3.0 的应用环境(如:JaveEE 6 / Tomcat 7)
  • 如果应用环境不支持 Servlet 3.0(如:JaveEE 5 / Tomcat 6),则只能使用原有功能
  • Portal-Basic 3.1.1 不再提供 JDK 1.5 的兼容版本
  • Portal-Basic 3.1.1 完全兼容 Portal-Basic 3.0.1 (非 JDK 1.5 版本)
Portal-Basic 3.0.1 更新:

1、增加 Action Convention,支持“Action 零配置”:

  • 根据 Action 请求的地址信息自动加载 Action,并调用相应的入口方法处理请求
  • 根据 Action 请求的地址信息和 Action Result 自动组合出输出页面的地址并转发
  • 通过 @Result/@Results 和 @ExceptionMapping/@ExceptionMappings 注解自定义 Result 和 Exception 处理策略
2、增加 REST 支持:

  • 增加 REST 插件包 portal-basic-ext-rest-3.0.1.jar 用于支持 REST
  • portal-basic-ext 通过 com.bruce.ext.rest.RestDispatcher 过滤器把 REST 请求转换为 Action 请求
  • portal-basic-ext 提供 com.bruce.ext.rest.RestActionSupport 作为处理 REST 请求的 Action 基类
  • Action 的 REST 请求处理方法通过声明 @Get/@Post/@Put/@Delete 注解来匹配 REST 地址格式,并注入参数
  • 内置 Rails-style REST 标准方法
  • 同时支持 HTML/XML/JSON 三种视图格式,应用程序也可以扩展自己的视图格式
  • portal-basic-ext 与 Action Convention 结合使用能实现“零配置”处理 REST 请求
开发文档目录:



文档下载:https://code.google.com/p/portal-basic/downloads/list
11
2
评论 共 28 条 请登录后发表评论
28 楼 alexlx 2013-05-05 22:38
感觉跟play framework类似
27 楼 guaishou 2013-05-03 23:03
shichuanliujie 写道
能开源的,无论做得如何,都应该尊重,里面怎么来说都有可以借鉴的地方

看官请放心,不好的东西本座是不会拿出来丢人现眼的 ^o^
26 楼 shichuanliujie 2013-05-03 01:45
能开源的,无论做得如何,都应该尊重,里面怎么来说都有可以借鉴的地方
25 楼 guaishou 2013-05-02 22:30
wzjin 写道
早出来5-6年就好了,现在的选择太多了, 不过可以加入权限管理配置管理界面布局等做成半成品方式前途还是可以的。

提议不错,如果要加的话也得加到框架的上层,作为可选扩展组件,这样不会影响框架的独立性。
24 楼 wzjin 2013-05-01 14:31
早出来5-6年就好了,现在的选择太多了, 不过可以加入权限管理配置管理界面布局等做成半成品方式前途还是可以的。
23 楼 guaishou 2013-04-28 23:21
huaxianpeng 写道
分享交流是一种美德,值得学习。

谢谢支持 ~~ ^_^
22 楼 huaxianpeng 2013-04-28 22:53
分享交流是一种美德,值得学习。
21 楼 guaishou 2013-04-28 21:06
freezingsky 写道
为每一个热心贡献的人,我表示感谢!

谢谢你的支持
20 楼 freezingsky 2013-04-28 20:58
为每一个热心贡献的人,我表示感谢!
19 楼 guaishou 2013-04-27 21:50
如果大家有什么疑问、意见或者提议,麻烦移步到项目主页(http://www.oschina.net/p/portal-basic)中留言,谢谢 ~ ^_^ ~
18 楼 diaozhanming 2013-04-27 21:43
guaishou 写道
風一樣的男子 写道
guaishou 写道
風一樣的男子 写道
没看到快速入门例子,请问怎么高效?

开发手册第一章,1.5节(Hello World示例)


我都不想说你了
发个文档全是图片

Word粘贴到网页编辑器格式全乱了,只能发图片,完整文档可以到这里下载:https://code.google.com/p/portal-basic/downloads/list

哥们你太耐心了,多余了老弟。
17 楼 diaozhanming 2013-04-27 21:40
坚决支持,这年月能认真做点东西的人太少了,而愿意分享的又少之又少。那些唧唧歪歪的,只能让人鄙视。感谢那些愿意分享的人,因为他们可以不这么做。
16 楼 guaishou 2013-04-27 21:39
guaishou 写道
lyh20081984 写道
别的不讲,我只讲一个问题,到你们的网站上去下个开发文档,结果下载出来的中文名称是乱码,这点细节都搞不好,何谈高效,细腻?

不会吧,有这样的事情?请问哪个地方乱码呢?

你是指API文档吗?那些HTML事UTF-8编码的,一般情况下浏览器会自动识别的。
15 楼 diaozhanming 2013-04-27 21:37
lyh20081984 写道
别的不讲,我只讲一个问题,到你们的网站上去下个开发文档,结果下载出来的中文名称是乱码,这点细节都搞不好,何谈高效,细腻?
我的为啥不是乱码。
14 楼 guaishou 2013-04-27 21:35
wang5598 写道
支持下作者,这年头有的人自己不贡献任何成果出来,还对别人共享的成果挑三拣四的,真是看不惯。作者好样的~

楼下有人说开发文档由乱码,请帮我看看有没有~~谢谢
13 楼 guaishou 2013-04-27 21:35
lyh20081984 写道
别的不讲,我只讲一个问题,到你们的网站上去下个开发文档,结果下载出来的中文名称是乱码,这点细节都搞不好,何谈高效,细腻?

不会吧,有这样的事情?请问哪个地方乱码呢?
12 楼 wang5598 2013-04-27 20:47
支持下作者,这年头有的人自己不贡献任何成果出来,还对别人共享的成果挑三拣四的,真是看不惯。作者好样的~
11 楼 lyh20081984 2013-04-27 20:20
别的不讲,我只讲一个问题,到你们的网站上去下个开发文档,结果下载出来的中文名称是乱码,这点细节都搞不好,何谈高效,细腻?
10 楼 guaishou 2013-04-27 17:40
風一樣的男子 写道
guaishou 写道
風一樣的男子 写道
没看到快速入门例子,请问怎么高效?

开发手册第一章,1.5节(Hello World示例)


我都不想说你了
发个文档全是图片

Word粘贴到网页编辑器格式全乱了,只能发图片,完整文档可以到这里下载:https://code.google.com/p/portal-basic/downloads/list
9 楼 風一樣的男子 2013-04-27 17:31
guaishou 写道
風一樣的男子 写道
没看到快速入门例子,请问怎么高效?

开发手册第一章,1.5节(Hello World示例)


我都不想说你了
发个文档全是图片

发表评论

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

相关推荐

  • 【白嫖党】如何把前端学好?看完这篇,直呼:太强了!(历经半个月之作)

    很少有文章做到将知识形成一个体系,于是需要翻阅很多资料,但这篇文章做到了!共34815字数。

  • 大佬分享:180+道Java面试题目!含答案解析!

    作者:我是offer ... 来源:牛客网 大厂常见问题 写视频点播网站文件下载接口 ...50个白球50个红球,两个盒子,怎么放让人随机在一个盒子里抽到红球概率最高 n个数里取两个和为s的数 java数据结构 HashMap原...

  • java 数组的排列组合_java数组排列组合问题汇总

    面试或笔试中,多次遇到以下4个关于排列组合的手撕算法,这里做个笔记,方法日后查阅:1. 无重复元素的数组,求全排列;2. 有重复元素的数组,求全排列;3. 无重复元素的数组,求组合【子集】;4. 有重复元素的数组...

  • 面试过程中的排列组合和趣味性题目一

    面试过程中的排列组合和趣味性题目欢迎使用Markdown编辑器problem 1problem 2problem 3problem 4problem 5problem 6problem 7problem 8problem 9problem 10referenceproblem 11problem 12## problem 13problem 14...

  • C++:经典面试题目100例,接近实际,值得一看!

    第一部分:C++与C语言的差异(1-18)1、C 和 C++ 中 struct 有什么区别?     Protection行为 能否定义函数 C 无 ...

  • MySQL常见面试题汇总(建议收藏!!!)

    目录一、索引相关(1)什么是索引?(2)索引是个什么样的数据结构呢?(3)为什么使用索引?(4)Innodb为什么要用自增id作为主键?(5)Hash 索引和 B+ 树索引有什么区别或者说优劣呢?(6)什么是聚簇索引(6)非聚...

  • 面试题 08.08. 有重复字符串的排列组合

    分析: 有重复字符串的排列组合,直观思路是先进行全排列,然后去重,但是set算法耗时较多,不是最优解法,见方法1,第二钟方法是,先对字符串进行排序,保证了相同的字符相邻,只需要取相同字符的第一个为起点即可...

  • 华为面试题目 返回顺序排列的某个位置的结果

    给定n 和k,返回第k个排列。 示例 1: 输入:n = 3, k = 3 输出:"213" 示例 2: 输入:n = 4, k = 9 输出:"2314" 示例 3: 输入:n = 3, k = 1 输出:"123" 来源:力扣(LeetCode) 链接:htt...

  • 十万字全网最全数据结构代码

    本文代码实现基本按照《数据结构》课本目录顺序,外加大量的复杂算法实现,一篇文章足够。能换你一个收藏了吧?

  • 面试过程中的排列组合和趣味性题目二

    四维空间中有两个夹角60度的向量A和B,随机生成一个向量C分别与A和B计算内积,那么两个内积符号相同的概率为____。 内积 A · B=|A| · |B| · cos<A,B> , 内积的正负由A,B夹角余弦...

  • 阅读理解类面试题 : 一维生物

    想象一种一维生物,由一系列顺序排列的细胞构成(可以理解为一维数组),细胞只有两种状态:活跃或者休眠(取值1或者0)。每经过一代进化,细胞状态都会发生改变。细胞进化后状态由当前该细胞状态和左右相邻细胞的...

  • 一文秒杀排列组合问题的 9 种题型

    后台回复打卡参与刷题挑战点击卡片可搜索关键词????读完本文,可以去力扣解决如下题目:78. 子集(Medium90. 子集 II(Medium)77. 组合(Medium)39. 组合总和(M...

  • 面试题:对1、2、2、3、4、5六个数字进行排列组合

    题目:用1、2、2、3、4、5这六个数字,用Java写一个main函数,打印出所有不同的排列,如512234、412345等,要求:4不能在第三位,3与5不能相连。题目中的排列412345,有两个4,应该是有问题的。知道就行,不管了

  • 【面试题】 08.08. 有重复字符串的排列组合

    题目:有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。 示例1: 输入:S = “qqe” 输出:[“eqq”,“qeq”,“qqe”] 示例2: 输入:S = “ab” 输出:[“ab”, “ba”] 提示: 字符都是英文字母...

  • LeetCode 例题精讲 | 08 排列组合问题:回溯法的候选集合

    点击关注上方“五分钟学算法”,设为“置顶或星标”,第一时间送达干货。转自面向大象编程本期例题:LeetCode 46 - Permutations[1](Medium)给定一个不重复的数...

  • 【leetcode】面试题 08.08. 有重复字符串的排列组合

    有重复字符串的排列组合

  • 面试题 08.08:有重复字符串的排列组合

    面试题 08.08:有重复字符串的排列组合题目解题方法一:回溯 题目 题目链接 有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。 示例1: 输入:S = "qqe" 输出:["eqq","qeq","qqe"] 示例2: ...

  • 剑指Offer面试题28字符串的排列组合(递归和栈)

    面试题28:字符串的全排列(递归) ...求所有排列的过程可看做两步,第一步求所有可能出现在第一个位置的字符,即把第一个字符和后面的所有字符交换。 第二步固定第一个字符,求后面所有字符的排列,此时仍

  • 【算法】面试题 08.07. 无重复字符串的排列组合(多语言实现)

    无重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。

  • 西门子S7-200PLC与MCGS触摸屏联动控制步进伺服电机的技术解析及应用实例

    内容概要:本文详细介绍了利用西门子S7-200PLC与昆仑通泰MCGS触摸屏联合控制步进伺服电机的方法和技术要点。首先阐述了硬件接线的具体方式,包括PLC输出接口与伺服驱动器之间的正确连接以及必要的安全措施如急停开关的接入。接着深入探讨了PLC程序的核心代码片段,涵盖原点回归、手动正转触发、绝对位置计算等功能模块,并解释了关键指令如PLS的作用及其使用注意事项。此外,针对触摸屏的关键配置进行了说明,涉及数值输入框、指示灯、多状态按钮等组件的设置,强调了绝对定位逻辑的实现。文中还分享了一些常见的调试问题及解决方案,例如伺服电机抖动、数据刷新延迟等问题的处理办法。最后提到该方案已在实际生产环境中成功应用并表现出良好的性能指标。 适合人群:从事自动化控制领域的工程师和技术人员,特别是那些希望深入了解PLC与触摸屏协同工作的专业人士。 使用场景及目标:适用于需要高精度定位控制的小型自动化生产线或机械设备中,旨在帮助用户掌握如何构建稳定可靠的步进伺服控制系统,提高工作效率的同时降低成本。 其他说明:作者凭借丰富的实践经验提供了许多宝贵的建议和技巧,对于初学者而言是非常有价值的参考资料。

Global site tag (gtag.js) - Google Analytics