- 浏览: 2652567 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
webxs是什么?
类似webx3,struts2,参考webx3的优点,吸收action零配置,pipeline等优点,但去起糟粕(其实也不是啦,呵呵)没有compoment的概念,没有spring-ext,service框架那套东西,没有screen,action,control的区别,anything is action!名字叫webxs,webx simple版。
为什么要重复造个轮子?
webx3还是有点复杂,也就阿里内部用用,其他公司估计不会用,以后我去别的公司就推我这款,至少比stuts2强大。可以结合自己的想法搞搞呗,重点就是用于互联网开发,如果能支持动态加载就爽了,提高发布效率。假设你以后离开了阿里,在其他公司要推广他们用webx3还是有点难度的哦。
---------------------------------------------------------------------------------
webxs的需求:
0. 整合Spring
webxs直接通过Srping来解析配置文件,没有自己特殊的配置文件。因为现在spring已经在各种java web应用中普及,但凡知名的web框架都会和spring整合,webxs索性直接和spring结合在一起,webxs.xml就是一份bean配置文件! 这样的好处有两个: 1.对于别人没有学习成本。2.对于框架开发者来说也不用重复写解析配置文件的代码。
1. URL mapping和module Loader
在webxs里面没有compoment的概念,因为compoment的作用意义不大,且浪费一层URL,对于互联网业务,一般URL设计的比较精简,比如
http://www.3renyou.com/place/note/list
http://www.3renyou.com/place/place/view
就没有下面这段简洁
http://www.3renyou.com/note/add
http://www.3renyou.com/place/photolist
http://www.3renyou.com/member/photolist
不过对于企业应用区分compoment能有效解除每个web模块之间的耦合,对此moduleloaderService中可以通过配置的方式支持这两种形式。
<bean id="moduleloader" class="">
<property name="defaultPackage" value="com.you.atlas.web.action"/>
<property name="compomentPackage">
<map>
<property name="/member" value="com.you.atlas.web.member.action"></property>
<property name="/place" value="com.you.atlas.web.place.action"></property>
</map>
</property>
</bean>
如果应用不希望使用compoment则只需要配置一个defaultPackage,否则如果配置了compomentPackage,就按照compomentPackage来加载module。
2. httpServletRequestWrapper,Rundata,及支持多种session的实现。
参考webx3的实现方式,支持cookie store.
3. anything is Action
screen容易被误用,对于这个url:
http://www.3renyou.com/place/placeView.html
其实这样设计更加符合REST风格:
http://www.3renyou.com/place/view.html
4. 去掉compoment的概念。
compoment对于互联网不适用,互联网产品一般是短URL,比如知乎,蘑菇街,豆瓣的域名都特别短,因为不会有特别复杂的业务来区分各个URL。产品可能很多,但都通过不同的应用分解了。所以compoment不太适用于互联网;另外一点webx3为了实现compoment,引入太多的复杂度,每个子compoment都需要一套webx配置文件,但每个配置文件只有细小的差别。
5. 支持pipeline。
<bean id="pipeline" class="">
<property name="valves">
<list>
<property value="setLocaleValve">
<property value="securtyCheckValve">
<property value="performActionValve">
<property value="performTemplateValve">
<property value="finallyValve">
<list>
</property>
</bean>
pipeline在这里就像stuts2中拦击器,pipeline将按照配置文件中给定顺序调用每个Valve,可以随意添加自己扩展的Value。
关于支持json,可以在performActionValve中增加一个annncation @JSON的格式,当检测到此方法为json时候就中断Vale的执行。
finallyValve,此Valve无论何时都会被执行,会提供一个扩展方法供需要在所有Valve执行完了之后做点事情的类使用。
6. 支持参数注入。
对于一个Action,比如下面的代码:
login方法中的各种参数都应该自动set并做好类型转换,包括:
a.基本类型,Stirng,char,long,int,short,float,double
b.日期,date,
c.各种容器,比如List,Map
d.各种框架内置对象包括:
a.HttpServletRequest
b.HttpServletResponse
c.HttpSession
d.Rundata
e.Context
e.符合类型,比如MemberLoginVO
f.能方便地扩展自己的Binder,比如自动从float转换成money.
7. 支持各种template,包括jsp。
<bean id="templateService" class="">
<map>
<property name="vm" class="VelocityTemplateLoaderService">
</property>
<property name="jsp" class="JspTemplateLoaderService">
</property>
</map>
</bean>
Context, 提供Context接口,在同一个request什么周期中可以在Action,模板中put,get对象。
8. 支持pull工具。
<bean id="pullService" class="">
<property name="pull">
<list>
<property value="memberTool" class="xxx.yyy.MemberTool" >
<list>
</property>
</bean>
9. 支持UriBroker。
暂不考虑
10.支持Rewrite.
暂不考虑
技术研究:
类似webx3,struts2,参考webx3的优点,吸收action零配置,pipeline等优点,但去起糟粕(其实也不是啦,呵呵)没有compoment的概念,没有spring-ext,service框架那套东西,没有screen,action,control的区别,anything is action!名字叫webxs,webx simple版。
为什么要重复造个轮子?
webx3还是有点复杂,也就阿里内部用用,其他公司估计不会用,以后我去别的公司就推我这款,至少比stuts2强大。可以结合自己的想法搞搞呗,重点就是用于互联网开发,如果能支持动态加载就爽了,提高发布效率。假设你以后离开了阿里,在其他公司要推广他们用webx3还是有点难度的哦。
---------------------------------------------------------------------------------
webxs的需求:
0. 整合Spring
webxs直接通过Srping来解析配置文件,没有自己特殊的配置文件。因为现在spring已经在各种java web应用中普及,但凡知名的web框架都会和spring整合,webxs索性直接和spring结合在一起,webxs.xml就是一份bean配置文件! 这样的好处有两个: 1.对于别人没有学习成本。2.对于框架开发者来说也不用重复写解析配置文件的代码。
1. URL mapping和module Loader
在webxs里面没有compoment的概念,因为compoment的作用意义不大,且浪费一层URL,对于互联网业务,一般URL设计的比较精简,比如
http://www.3renyou.com/place/note/list
http://www.3renyou.com/place/place/view
就没有下面这段简洁
http://www.3renyou.com/note/add
http://www.3renyou.com/place/photolist
http://www.3renyou.com/member/photolist
不过对于企业应用区分compoment能有效解除每个web模块之间的耦合,对此moduleloaderService中可以通过配置的方式支持这两种形式。
<bean id="moduleloader" class="">
<property name="defaultPackage" value="com.you.atlas.web.action"/>
<property name="compomentPackage">
<map>
<property name="/member" value="com.you.atlas.web.member.action"></property>
<property name="/place" value="com.you.atlas.web.place.action"></property>
</map>
</property>
</bean>
如果应用不希望使用compoment则只需要配置一个defaultPackage,否则如果配置了compomentPackage,就按照compomentPackage来加载module。
2. httpServletRequestWrapper,Rundata,及支持多种session的实现。
参考webx3的实现方式,支持cookie store.
3. anything is Action
screen容易被误用,对于这个url:
http://www.3renyou.com/place/placeView.html
其实这样设计更加符合REST风格:
http://www.3renyou.com/place/view.html
4. 去掉compoment的概念。
compoment对于互联网不适用,互联网产品一般是短URL,比如知乎,蘑菇街,豆瓣的域名都特别短,因为不会有特别复杂的业务来区分各个URL。产品可能很多,但都通过不同的应用分解了。所以compoment不太适用于互联网;另外一点webx3为了实现compoment,引入太多的复杂度,每个子compoment都需要一套webx配置文件,但每个配置文件只有细小的差别。
5. 支持pipeline。
<bean id="pipeline" class="">
<property name="valves">
<list>
<property value="setLocaleValve">
<property value="securtyCheckValve">
<property value="performActionValve">
<property value="performTemplateValve">
<property value="finallyValve">
<list>
</property>
</bean>
pipeline在这里就像stuts2中拦击器,pipeline将按照配置文件中给定顺序调用每个Valve,可以随意添加自己扩展的Value。
关于支持json,可以在performActionValve中增加一个annncation @JSON的格式,当检测到此方法为json时候就中断Vale的执行。
finallyValve,此Valve无论何时都会被执行,会提供一个扩展方法供需要在所有Valve执行完了之后做点事情的类使用。
6. 支持参数注入。
对于一个Action,比如下面的代码:
class MemberAction{ public void login(@Param(id)Long id,MemberLoginVO memberLoginVO,Rundata rundata,Context context){ } }
login方法中的各种参数都应该自动set并做好类型转换,包括:
a.基本类型,Stirng,char,long,int,short,float,double
b.日期,date,
c.各种容器,比如List,Map
d.各种框架内置对象包括:
a.HttpServletRequest
b.HttpServletResponse
c.HttpSession
d.Rundata
e.Context
e.符合类型,比如MemberLoginVO
f.能方便地扩展自己的Binder,比如自动从float转换成money.
7. 支持各种template,包括jsp。
<bean id="templateService" class="">
<map>
<property name="vm" class="VelocityTemplateLoaderService">
</property>
<property name="jsp" class="JspTemplateLoaderService">
</property>
</map>
</bean>
Context, 提供Context接口,在同一个request什么周期中可以在Action,模板中put,get对象。
8. 支持pull工具。
<bean id="pullService" class="">
<property name="pull">
<list>
<property value="memberTool" class="xxx.yyy.MemberTool" >
<list>
</property>
</bean>
9. 支持UriBroker。
暂不考虑
10.支持Rewrite.
暂不考虑
技术研究:
BeanBindingUtils if (BeanUtils.isSimpleProperty(propertyType)) { SimpleBindingUtils.SimpleBindingUtils.bindSimpleValue(propertyType, name,value); }else{// 处理复合类型的数据 Binder binder = BinderRegistryService.getBinderRegistry().get(componentType); binder.setParamInfo(new ParamInfo(writeMethod.getDeclaringClass(), name, methodParameter, writeMethod.getParameterAnnotations()[0])); } public static Object bindSimpleValue(Class type, String name,Object value) { PropertyUtils.convertValue(value, type); }
相关推荐
李白高力士脱靴李白贺知章告别课本剧.pptx
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
C语言项目之超级万年历系统源码,可以做课程设计参考 文章参考:https://www.qqmu.com/4373.html
Jupyter-Notebook
51单片机加减乘除计算器系统设计(proteus8.17,keil5),复制粘贴就可以运行
《中国房地产统计年鉴》面板数据资源-精心整理.zip
Jupyter-Notebook
Jupyter-Notebook
毕业论文答辩ppt,答辩ppt模板,共18套
Jupyter-Notebook
《中国城市统计年鉴》面板数据集(2004-2020年,最新).zip
Python基础 本节课知识点: • set的定义 • Set的解析 • set的操作 • set的函数
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
兵制与官制研究资料最新版.zip
Jupyter-Notebook
七普人口数据+微观数据+可视化+GIS矢量资源-精心整理.zip
Support package for Hovl Studio assets.unitypackage
土壤数据库最新集.zip
Jupyter-Notebook
1991-2020年中国能源统计年鉴-能源消费量(分省)面板数据-已更至最新.zip