??xml version="1.0" encoding="utf-8" standalone="yes"?>
struts 2.1.8
http://struts.apache.org/download.cgi#struts2181
spring 3.0.3
http://www.springsource.org/download
hibernate
http://sourceforge.net/projects/hibernate/files/
itatis 3v
http://ibatis.apache.org/java.cgi
]]>
import
org.apache.struts2.StrutsStatics;
import
org.apache.struts2.dispatcher.Dispatcher;
import
org.apache.struts2.dispatcher.ng.PrepareOperations;
import
org.apache.struts2.dispatcher.ng.ExecuteOperations;
import
org.apache.struts2.dispatcher.ng.InitOperations;
import
org.apache.struts2.dispatcher.mapper.ActionMapping;
import
javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Handles both the preparation and execution phases of the
Struts dispatching process. This filter is better to use
* when you don't
have another filter that needs access to action context information, such as
Sitemesh.
*/
public class StrutsPrepareAndExecuteFilter implements
StrutsStatics, Filter {
private PrepareOperations prepare;
private ExecuteOperations execute;
//初始化过滤器
public void init(FilterConfig
filterConfig) throws ServletException {
InitOperations init = new
InitOperations(); //初始化辅助对象,装了初始化的一些操?br />
try {
FilterHostConfig config = new
FilterHostConfig(filterConfig); //对filterConfigq行装
init.initLogging(config); //通过config,初始化内部Struts的记?/span>
Dispatcher dispatcher = init.initDispatcher(config); //通过config,创徏q初始化dispatcher
init.initStaticContentLoader(config,
dispatcher); //通过config和dispatcherQ初始化与过滤器相关的静态内容加载器
prepare = new PrepareOperations(filterConfig.getServletContext(), dispatcher);
//通过config和dispatcher,创徏request被处理前的系列操作对?/span>
execute = new ExecuteOperations(filterConfig.getServletContext(),
dispatcher);//通过config和dispatcher,创徏处理request的系列操作对?/span>
} finally {
init.cleanup(); //清空ActionContext
}
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
try {
prepare.createActionContext(request, response); //创徏ACTIONCONTEXT,q初始化Theadlocal
prepare.assignDispatcherToThread();
//指派dispatcherlTheadlocal
prepare.setEncodingAndLocale(request, response); //讄request的编码和LOCAL
request =
prepare.wrapRequest(request); //装request
ActionMapping mapping =
prepare.findActionMapping(request, response); //查找q择创徏ActionMapping
if (mapping
== null) { //如果映射不存?/span>
boolean handled = execute.executeStaticResourceRequest(request, response); //试图执行一个静态资源的h
if (!handled) {
chain.doFilter(request, response);
}
} else { //如果存在映射
execute.executeAction(request, response, mapping); //执行action
}
} finally
{
prepare.cleanupRequest(request); //清除request的Threadlocal
}
}
public void destroy() {
prepare.cleanupDispatcher();
}
}
来自于:http://qianjian21.javaeye.com/blog/480206
最后不得不下蝲新版的struts 解决q个问题
记得d某世界的大师到中国忽悠几天后回去说Q中国只?a href="javascript:;" onclick="javascript:tagshow(event, '%BF%AA%D4%B4');" target="_self">开?/strong>“消费?#8221;Q那话的意思好像我们只会从开源社Z索取Q?
不懂得A献似的。那么实际情况又是如何呢Q这是昨晚整理的中国Java开源领域的斗士们的情况Q根据他们对中国java开源界的A献倹{重要性、发展潜力等作了一个综合评P可以说他们是中国Java开源界里最可爱的h。欢q大家来看看q里是否有你认识英雄?br />
1?nbsp; Huihoo动力—当之无愧的老大
代表人物Q?/strong>龙辉(Allen)?/span>E勇(Peter)、杨?/span>(Orbat)
代表目Q?/span>JFox{?/span>
官方|站Q?/span>http://www.huihoo.org/
评:说到java开源,大家不可能不知道HuihooQ?/span>Huihoo曄创造了很多奇迹Q不是Ҏ团队成员的技术水q是开源理c开源组l的理{都可以说是最? 的,JFox目 一直具有生命力Q?/span>huihooq么多年了也一直具有生命力Q?/span>Allen?/span>Peter?/span>Orbat{对q个团队q么多年来的坚持及A献,要选国内最值得推崇的开源团体,huihoo排在W一位可以说是当之无愧。因此,他们是最可爱的h?br />
2?/span>Jdon?/span>高处不胜?/span>
代表人物Q?/span>彭晨?/span>(板桥里h)
代表目Q?/span>jdonframework
官方|站Q?/span>http://www.jdon.com/
评:作ؓ国内W一个开源框架的发v人,作ؓ国内W一个敢于与国外框架叫板的板桥里人,他曾l带l大家很? 很多的欣喜及回忆Q桥技术水q_造诣q里更不用说了Q他“一个开源h? 孤独告白”Q有Ҏ桑,有点心寒Q?/span>jdon今天的现Ӟ是中国对待技术h才的真实写照。无论如何,选中?/span>Java开源界最可爱的hQ板桥当之无愧?br />
3?/span>Apusic OperaMasks?/span>谁说开源不赚钱
代表人物Q?/span>袁红岗 张勇
代表目Q?/span>OperaMasks
官方|站Q?/span>http://www.operamasks.org/
评:1000万h民币的投入,一?#8220;勇敢者的? 世界”也算是在中国开源界掀起了一阉|L澜,产品发布会上那一份䆾合同Q更是让同行的老M有点眼红。除d业因素不_q两?/span>Check out?/span>OperaMasks的代码,也看了示例, 表现非常不错Q值得深层ơ的java开发h员学习。老袁深厚的技术功底、老张卖力的全国\演,公司l营战略的成功,OperaMasks能否发展成ؓ一个最能适合中国国情的开源组l, 让我们拭目以待?br />
4?/span>EasyJF?/span>后生可畏
代表人物Q?/strong>? 世友(大)、吴嘉俊(stef_wu)、程?/span>(天一)
代表目Q?/span>EasyJWeb
官方|站Q?/span>http://www.easyjf.com
评:? 了大峡小朋友的一些文章,看到EasyJF现在的发展,真真实实有一U后? 可畏的感叏V他们有自己的专职团队,有网下办公室Q还有硬件设施,q拥有一有Ȁ情、好学的q轻伙子们。虽然要得到中国q认可是很不容易的事情Q? 但搜索一下带是发现国内已l有不少|站在用EasyJWeb做开发。因此,最可爱的h当他们莫属,衷心希望他们能成功?br />
5?/span>SpringSide?/span>天才团队
代表人物Q?/strong>? ?/span>(江南白衣)?a name="cac">陈俊(cac)、田?/span>(差沙)
代表目Q?/span>SpringSide
官方|站Q?/span>http://www.springside.org.cn/
评:虽然只是站在春天的傍边,但已l带l了整天忙于q逐新技术、新潮流?/span>JavaE序员们很多极具参考h值的东西。江 南白衣同学可以算是一个天才般的h物,技术的d、接受ƈ译释新技术的速度、能力及水^Q可以说是少C的少数。因此,SpringSide可以U得上最h偶像? 质的团队Q?/span>Java开源界最可爱的hQ他? 当之无愧Q希望他们能?#8220;傍边”走到“中间”?br />
6?/span>BuffaloC?/span>羃是精
代表人物Q?/strong>? 金洲(Michael Chen)
代表目Q?/span>Buffalo
官方|站Q?a target="_blank">http://buffalo.sourceforge.net/
评:作ؓW一个国人开发的Ajax框架Q作Z个能把一直受java大拿们岐?/span>javascript玩{得如何熟悉的目Q作Z个能几年坚持更新的开源项目,Buffalo是成功的Q?/span>Michael Chen让我们体会到国内开源A献者们执着与坚持?
他是不是最可爱的hQ谁是?
7、天乙社?/span>—n受开 ?/span>动力
代表人物Q?/span>laoer
代表目Q?/strong>天乙开源社?/span>
官方|站Q?/span>http://www.laoer.com/
评:有多开源项目的产品发布?/span>8.0Q从jsp?/span>struts1?/span>struts2一路走来,一直能跟着新技术的步伐Q不断改q及完善。因此,当之无愧java开源界最可爱的h?br />
8?/span>CowNew开?/span>?/span>真有一点牛
代表人物Q?/strong>? 中科
代表目Q?/span>CowNewSQL
官方|站Q?a target="_blank">http://www.cownew.com/
评:看过杨中U同学的两篇文章Q我觉得他是可爱的。多数据库翻译引?/span>CowNewSQL的h值将在哪里体玎ͼCowNew能在何时l我们带来更多实用的东西Q值得大家期待。无? 如何Q他们的q步是有目共睏V?br />
9?/span>CommonTemplate?/span>值得期待
代表人物Q?/strong>? ?/span>(javatar)
代表目Q?/span>CommonTemplate
官方|站Q?a target="_blank">http://www.commontemplate.org/
评:也许很多Z知道q个目Q但他确实是一个很不错的模板引擎,金子L发光?/span>时?/span>。只要坚持,怿有一 天梁飞同学会l大家带来更多的惊喜?br />
10、恩信—小公司也能开?/strong>
代表人物Q?/strong>刘有?/span>
代表目Q?/strong>? 信开?/span>ERP
官方|站Q?/span>http://www.nseer.com/
评:听过刘ȝ演讲Q从“捕鱼”?#8220;授之以渔”Q从刘Mp? 列运作手法,我觉得恩信可以成为很多追逐开源但又没有上千万资金来投入而d为是否参加开源而徘徊的老M的参考学习的案例。虽然没有技术牛人加盟,虽然 q用稍为古老的技术体p,但既然开源了Q总能让我们学到很多东ѝ呵呵,所有最可爱的开源h中,刘ȝ是算是最q长的了Q祝他们开?/span>ERP大卖?br />
除了上面10个开源项目里面的最可爱的h以外Q还有一些曾l激情一时ƈl大家带来快乐,但因为很多原因没能坚持下来的开源斗士们Q这里就不逐一列出来,Z 们感到惋惜的同时Q也希望有一天能看到更多的h与企业参与到开源的队伍中来。当Ӟ可能q有一些比较优U的团队我没有发现Q而恰好你又知道,那么h告诉 我,在今后的日子里我会尽我的力量也来做点贡献?/span>
版权声明Q本文版权由Blogjava?a href="../../rain2008/">雨开?/a>所有,受法律保护。欢q{载,转蝲请保留作者版? 声明及连接?/span>