- 浏览: 2662229 次
- 来自: 杭州
文章分类
- 全部博客 (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机器学习库
Webx3 服务配置
1 RequestContext
<!-- 设置request/response/session。 -->
<services:request-contexts
xmlns="http://www.alibaba.com/schema/services/request-contexts">
<buffered />
<lazy-commit />
<parser />
<set-locale defaultLocale="zh_CN" defaultCharset="UTF-8" />
<session>
<id>
<cookie path="/" maxAge="0" httpOnly="true" />
</id>
<stores>
<session-stores:cookie-store id="temporaryCookie">
<session-stores:cookie name="tmp" />
</session-stores:cookie-store>
</stores>
<store-mappings>
<match name="*" store="temporaryCookie" />
</store-mappings>
</session>
</services:request-contexts>
2 PipeLine.xml
<services:pipeline xmlns=http://www.alibaba.com/schema/services/pipeline/valves>
<!-- 初始化turbine rundata,并在pipelineContext中设置可能会用到的对象(如rundata、utils),以便valve取得。 -->
<prepareForTurbine />
<!-- 预备webx所需的对象。 -->
<prepareForWebx2 />
<setLoggingContext />
<!-- 分析URL,取得target。 -->
<analyzeURL homepage="homepage" />
<checkCsrfToken />
<loop>
… Valve
</loop>
</services:pipeline>
<services:pipeline xmlns=http://www.alibaba.com/schema/services/pipeline/valves>
………
<loop>
<choose>
<when>
<pl-conditions:target-extension-condition extension="null, vm, jsp" />
<performAction />
<performTemplateScreen />
<renderTemplate />
</when>
<when>
<pl-co ditions:target-extension-condition extension="do" />
<performAction />
<performScreen />
</when>
<otherwise>
<!-- 将控制交还给servlet engine。 -->
<exit />
</otherwise>
</choose>
<breakUnlessTargetRedirected />
</loop>
</services:pipeline>
3 ModuleLoader
<!-- 装载模块。 -->
<services:module-loader>
<ml-factories:class-modules>
<ml-factories:search-packages type="$1"
packages="com.alibaba.sample.petstore.web.admin.module.*"
includeAbstractClasses="true" />
</ml-factories:class-modules>
<ml-adapters:webx2-module-adapter />
</services:module-loader>
4 PullService
<services:pull xmlns="http://www.alibaba.com/schema/services/pull/tools">
<!-- 全局tools。 -->
<services:tools>
<!-- Webx3 tools。 -->
<utils />
<rundata-tool />
<csrfToken />
</services:tools>
<!-- 每个request都会创建一次的tools。 -->
<services:tools scope="request">
<!-- Webx3 tools。 -->
<control-tool />
<!-- Webx2 tools。 -->
<webx2-tool id="form" class="com.alibaba.service.form.FormTool" />
<webx2-tool id="uri" class="com.alibaba.service.uribroker.URIBrokerTool" />
</services:tools>
<!-- 每个request都会创建一次的tools,但components之间共享同一个实例。 -->
<services:tools scope="request" shareWithComponents="true">
<!-- Webx3 tools。 -->
<page-tool />
</services:tools>
</services:pull>
5 MappingRule
<services:mapping-rules xmlns="http://www.alibaba.com/schema/services/mapping-rules">
<direct-module-rule id="action" />
<!-- Target name => Screen module name (*.do) -->
<direct-module-rule id="screen.notemplate" />
<!-- Target name => Screen module name (*.jsp, *.vm) -->
<fallback-module-rule id="screen" moduleType="screen" />
<!-- Target name => Screen template name -->
<direct-template-rule id="screen.template" templatePrefix="screen" />
<!-- Target name => Layout template name -->
<fallback-template-rule id="layout.template" templatePrefix="layout" />
<!-- Target name => Control module name (setControl method) -->
<direct-module-rule id="control.notemplate" />
<fallback-module-rule id="control" moduleType="control" />
<direct-template-rule id="control.template" templatePrefix="control" />
</services:mapping-rules>
6 DataResolver
<!-- 支持注入参数,可以在这里扩展自己的参数绑定器 -->
<services:data-resolver xmlns="http://www.alibaba.com/schema/services/data-resolver/factories">
<turbine-rundata-resolver />
<parameter-resolver />
<form-resolver />
</services:data-resolver>
7 Form
<services:form>
<services:group name="addProduct">
<services:field name="productId" displayName="产品ID">
<required-validator>
<message>必须填写${displayName}</message>
</required-validator>
<custom-error id="duplicatedProductId">
<message>产品ID和已有产品冲突</message>
</custom-error>
</services:field>
services:field name="picture" displayName="产品图片">
<required-validator>
<message>必须上传产品图片</message>
</required-validator>
<uploaded-file-validator
contentType="image/gif, image/jpeg, image/pjpeg, image/jpg, image/png">
<message>${displayName}不是合法的图片文件</message>
</uploaded-file-validator>
<uploaded-file-validator maxSize="100K">
<message>${displayName}不能超过${maxSize}字节</message>
</uploaded-file-validator>
</services:field>
</services:group>
</services:form>
8 Rewrite
<services:request-contexts id="rewrite" sort="false">
<parser />
<rewrite>
<!-- 永久重定向,301 -->
<rule pattern="/test1/hello.htm">
<substitution uri="/test1/new_hello.htm" flags="L,R=301" />
</rule>
<!-- 临时重定向,302,不保留参数 -->
<rule pattern="/test2/hello.htm">
<substitution uri="/test2/new_hello.htm" flags="L,R" />
</rule>
<!-- 临时重定向,302,保留参数 -->
<rule pattern="/test2.4/hello.htm">
<substitution uri="/test2.4/new_hello.htm" flags="L,R,QSA" />
</rule>
1 RequestContext
<!-- 设置request/response/session。 -->
<services:request-contexts
xmlns="http://www.alibaba.com/schema/services/request-contexts">
<buffered />
<lazy-commit />
<parser />
<set-locale defaultLocale="zh_CN" defaultCharset="UTF-8" />
<session>
<id>
<cookie path="/" maxAge="0" httpOnly="true" />
</id>
<stores>
<session-stores:cookie-store id="temporaryCookie">
<session-stores:cookie name="tmp" />
</session-stores:cookie-store>
</stores>
<store-mappings>
<match name="*" store="temporaryCookie" />
</store-mappings>
</session>
</services:request-contexts>
2 PipeLine.xml
<services:pipeline xmlns=http://www.alibaba.com/schema/services/pipeline/valves>
<!-- 初始化turbine rundata,并在pipelineContext中设置可能会用到的对象(如rundata、utils),以便valve取得。 -->
<prepareForTurbine />
<!-- 预备webx所需的对象。 -->
<prepareForWebx2 />
<setLoggingContext />
<!-- 分析URL,取得target。 -->
<analyzeURL homepage="homepage" />
<checkCsrfToken />
<loop>
… Valve
</loop>
</services:pipeline>
<services:pipeline xmlns=http://www.alibaba.com/schema/services/pipeline/valves>
………
<loop>
<choose>
<when>
<pl-conditions:target-extension-condition extension="null, vm, jsp" />
<performAction />
<performTemplateScreen />
<renderTemplate />
</when>
<when>
<pl-co ditions:target-extension-condition extension="do" />
<performAction />
<performScreen />
</when>
<otherwise>
<!-- 将控制交还给servlet engine。 -->
<exit />
</otherwise>
</choose>
<breakUnlessTargetRedirected />
</loop>
</services:pipeline>
3 ModuleLoader
<!-- 装载模块。 -->
<services:module-loader>
<ml-factories:class-modules>
<ml-factories:search-packages type="$1"
packages="com.alibaba.sample.petstore.web.admin.module.*"
includeAbstractClasses="true" />
</ml-factories:class-modules>
<ml-adapters:webx2-module-adapter />
</services:module-loader>
4 PullService
<services:pull xmlns="http://www.alibaba.com/schema/services/pull/tools">
<!-- 全局tools。 -->
<services:tools>
<!-- Webx3 tools。 -->
<utils />
<rundata-tool />
<csrfToken />
</services:tools>
<!-- 每个request都会创建一次的tools。 -->
<services:tools scope="request">
<!-- Webx3 tools。 -->
<control-tool />
<!-- Webx2 tools。 -->
<webx2-tool id="form" class="com.alibaba.service.form.FormTool" />
<webx2-tool id="uri" class="com.alibaba.service.uribroker.URIBrokerTool" />
</services:tools>
<!-- 每个request都会创建一次的tools,但components之间共享同一个实例。 -->
<services:tools scope="request" shareWithComponents="true">
<!-- Webx3 tools。 -->
<page-tool />
</services:tools>
</services:pull>
5 MappingRule
<services:mapping-rules xmlns="http://www.alibaba.com/schema/services/mapping-rules">
<direct-module-rule id="action" />
<!-- Target name => Screen module name (*.do) -->
<direct-module-rule id="screen.notemplate" />
<!-- Target name => Screen module name (*.jsp, *.vm) -->
<fallback-module-rule id="screen" moduleType="screen" />
<!-- Target name => Screen template name -->
<direct-template-rule id="screen.template" templatePrefix="screen" />
<!-- Target name => Layout template name -->
<fallback-template-rule id="layout.template" templatePrefix="layout" />
<!-- Target name => Control module name (setControl method) -->
<direct-module-rule id="control.notemplate" />
<fallback-module-rule id="control" moduleType="control" />
<direct-template-rule id="control.template" templatePrefix="control" />
</services:mapping-rules>
6 DataResolver
<!-- 支持注入参数,可以在这里扩展自己的参数绑定器 -->
<services:data-resolver xmlns="http://www.alibaba.com/schema/services/data-resolver/factories">
<turbine-rundata-resolver />
<parameter-resolver />
<form-resolver />
</services:data-resolver>
7 Form
<services:form>
<services:group name="addProduct">
<services:field name="productId" displayName="产品ID">
<required-validator>
<message>必须填写${displayName}</message>
</required-validator>
<custom-error id="duplicatedProductId">
<message>产品ID和已有产品冲突</message>
</custom-error>
</services:field>
services:field name="picture" displayName="产品图片">
<required-validator>
<message>必须上传产品图片</message>
</required-validator>
<uploaded-file-validator
contentType="image/gif, image/jpeg, image/pjpeg, image/jpg, image/png">
<message>${displayName}不是合法的图片文件</message>
</uploaded-file-validator>
<uploaded-file-validator maxSize="100K">
<message>${displayName}不能超过${maxSize}字节</message>
</uploaded-file-validator>
</services:field>
</services:group>
</services:form>
8 Rewrite
<services:request-contexts id="rewrite" sort="false">
<parser />
<rewrite>
<!-- 永久重定向,301 -->
<rule pattern="/test1/hello.htm">
<substitution uri="/test1/new_hello.htm" flags="L,R=301" />
</rule>
<!-- 临时重定向,302,不保留参数 -->
<rule pattern="/test2/hello.htm">
<substitution uri="/test2/new_hello.htm" flags="L,R" />
</rule>
<!-- 临时重定向,302,保留参数 -->
<rule pattern="/test2.4/hello.htm">
<substitution uri="/test2.4/new_hello.htm" flags="L,R,QSA" />
</rule>
发表评论
-
Session失效的几种方法
2012-03-08 12:37 1553Session失效的几种方法 (1)在主页面或者公共页面中加入 ... -
struts2和webx参数注入比较
2012-02-27 16:09 1050struts2 使用ognl 通过setter注入参数 ... -
webx3 ajax实践
2012-02-03 16:31 4236webx3处理ajax很简单,需要注意的是别忘了家cache- ... -
webx3 FQA
2011-11-19 23:07 17421. 在webx3的control类里面无法重定向: navi ... -
web3 URLBroker
2011-11-19 20:07 1099http://www.3renyou.com:8080/pla ... -
webx session读写
2011-10-25 11:24 1054画了两张图 -
webx3问题解决
2011-10-15 23:02 11041.404错误无法找到设置的error.vm。 原因err ... -
webx3的对象树
2011-10-15 22:34 904WebxComponents { parentContex ... -
webx pipeline
2011-09-30 15:26 1510pipeline 1. analyzeURL(分析URL的目 ... -
webx3的扩展点
2011-09-26 11:54 1842以Template渲染服务为例子 <!-- Te ... -
webx
2011-06-14 21:06 1567webx初始化: listener: WebxCon ...
相关推荐
WebX3是一个强大的开源Web应用程序框架,主要用于构建企业级的Web应用系统。...这个压缩包中的资源为学习WebX3提供了一个很好的起点,通过实践这些示例,你可以逐步掌握WebX3的核心技术和开发流程。
Webx核心框架的设计理念着重于其初始化过程,包括初始化级联的Spring容器和初始化日志系统。Webx的响应请求机制通过增强request、response、session的功能,并采用Pipeline流程机制来处理请求。异常处理机制和开发...
- **快速开发**:借助Webx3的自动化配置和约定优于配置的原则,开发团队可以更快地完成项目开发任务。 #### 五、总结 综上所述,Webx3框架凭借其成熟可靠、开放扩展的设计理念,在阿里巴巴集团内外得到了广泛的...
Webx的核心设计理念是将业务逻辑、数据访问和用户界面紧密地集成在一起,使得开发者可以更专注于业务功能的实现,而非底层技术的细节。 在Webx框架中,主要由以下几个关键组件构成: 1. **控制器(Controller)**...
本指南将深入探讨Webx3框架的核心特性和使用方法,结合《Webx3_Guide_Book.pdf》的详细文档,我们将全面解析以下几个关键知识点: 1. **框架架构**:Webx3 的架构设计基于组件化思想,允许开发者灵活地选择和配置...
3. **动态表单**:WebX 支持动态表单生成,允许开发者通过配置文件定义表单字段和验证规则,自动根据数据库结构生成表单,减少了重复代码。 4. **数据库操作**:WebX 提供了强大的数据库操作接口,支持SQL语句的...
首先,WebX会加载配置文件,这些配置文件通常包括`webx.properties`,定义了系统的基本设置。接着,框架会扫描指定的类路径,寻找并加载组件(Components),这些组件是WebX应用程序的核心。每个组件都有自己的生命...
### Webx3 PDF(阿里巴巴前端Web框架):深入解析与技术要点 #### 引言 Webx是一款由阿里巴巴推出的前端Web框架,旨在提供一个高效、灵活且可扩展的基础架构来支持大规模Web应用的开发。本文章将从Webx框架的核心...
在"paoding-webx3-solr-lucene"项目中,Solr作为后端的核心组件,负责存储和管理经过Paoding分词后的数据,同时提供高效的查询和排序功能。 在这个项目中,Webx3与Solr通过HTTP通信,实现了前后端分离。当用户发起...
llerServlet 是 Webx 框架的核心组件,它负责处理所有以 .htm 和 .do 结尾的请求。...对于初学者来说,理解 Webx 的核心概念,如 ControllerServlet 和服务配置,是进一步学习和使用 Webx 的关键。
WebX项目的典型结构包括src/main/java(存放Java代码)、src/main/resources(存放资源配置文件)、WEB-INF(存放web.xml等Web应用配置文件)等。了解这些目录的作用对于后续开发至关重要。 4. **控制器...
- **Webx2应用的Context结构**:在Webx2中,主要采用了`ServiceContext`作为核心,其中包括了多个`SubInstance`实例,每个实例都有自己的`SpringContext`。 - **Webx3应用的Context结构**:Webx3中取消了`...
### Webx框架核心知识点 #### 一、Webx框架简介 **Webx**是一个由阿里巴巴集团内部开发并广泛使用的Web框架。它采用了经典的MVC(Model-View-Controller)设计模式,并强调页面驱动和“约定优于配置”的理念,旨在...
本知识点将详细介绍Webx框架的核心理念、架构层次、使用优势以及在实际开发中的应用方法。 Webx框架的历史可以追溯到2010年,当时设计者MichaelZhou出版了《Webx框架指南》,详细介绍了Webx框架的设计初衷和使用...
Webx的核心理念是简化Web应用开发,通过提供丰富的组件和模式,让开发者可以快速地创建功能完备的Web应用,而无需从头编写大量重复的代码。 在Webx框架中,开发者可以利用其提供的控制器、模型、视图和数据访问组件...
资源在Webx框架中是一个非常核心的概念,它不仅涉及资源的概述,如资源的定义、表示、访问和遍历,还引入了Spring的ResourceLoader机制,讨论了在代码中如何取得资源以及Spring装载资源的内部机制。此外,还提供了...
Webx的核心特性包括强大的URL映射、数据绑定、事件驱动以及模板引擎等。 SpringExt是Webx框架的扩展,它引入了Spring框架的强大功能,如依赖注入(DI)、面向切面编程(AOP)、事务管理等,增强了Webx的灵活性和可...
Webx框架的核心理念是模块化,这使得开发过程更加灵活,允许开发者将应用程序的不同部分(如业务逻辑、用户界面等)封装在独立的组件(Car)中。随着Webx3.0的开源,它为更多的开发人员提供了使用和贡献该框架的机会...
3. 自定义解析器:Webx允许开发者自定义数据解析器,以实现特定的数据处理逻辑,如优化批量操作、缓存策略或者实现复杂的数据转换。 4. 性能优化:通过合理配置和使用数据解析器,可以显著提升Web应用的数据处理...