博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2_day01--导入源文件_Struts2的执行过程_查看源代码
阅读量:6169 次
发布时间:2019-06-21

本文共 2668 字,大约阅读时间需要 8 分钟。

导入源文件

选中按ctrl + shift + t进入

Struts2执行过程

画图分析过程

 过滤器在服务器启动时创建,servlet在第一次访问时创建

查看源代码

public class StrutsPrepareAndExecuteFilter implements StrutsStatics, Filter {    protected PrepareOperations prepare;    protected ExecuteOperations execute;    protected List
excludedPatterns = null; public void init(FilterConfig filterConfig) throws ServletException { InitOperations init = new InitOperations(); Dispatcher dispatcher = null; try { FilterHostConfig config = new FilterHostConfig(filterConfig); init.initLogging(config); dispatcher = init.initDispatcher(config); init.initStaticContentLoader(config, dispatcher); prepare = new PrepareOperations(dispatcher); execute = new ExecuteOperations(dispatcher); this.excludedPatterns = init.buildExcludedPatternsList(dispatcher); postInit(dispatcher, filterConfig); } finally { if (dispatcher != null) { dispatcher.cleanUpAfterInit(); } init.cleanup(); } } /** * Callback for post initialization */ protected void postInit(Dispatcher dispatcher, FilterConfig filterConfig) { } public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; try { if (excludedPatterns != null && prepare.isUrlExcluded(request, excludedPatterns)) { chain.doFilter(request, response); } else { prepare.setEncodingAndLocale(request, response); prepare.createActionContext(request, response); prepare.assignDispatcherToThread(); request = prepare.wrapRequest(request); ActionMapping mapping = prepare.findActionMapping(request, response, true); if (mapping == null) { boolean handled = execute.executeStaticResourceRequest(request, response); if (!handled) { chain.doFilter(request, response); } } else { execute.executeAction(request, response, mapping); } } } finally { prepare.cleanupRequest(request); } } public void destroy() { prepare.cleanupDispatcher(); }}

1 过滤器在服务器启动时候创建,创建过滤器时候执行init方法

(1)在init方法中主要加载配置文件

- 包含自己创建的配置文件和struts2自带配置文件

** struts.xml

** web.xml

转载于:https://www.cnblogs.com/justdoitba/p/7867770.html

你可能感兴趣的文章
Laravel 5.2数据库--迁移migration
查看>>
ExtJs Extender controls 不错的例子
查看>>
html的基础知识
查看>>
一个菜鸟正在用SSH写一个论坛(2)
查看>>
Mybatis Sql片段的应用
查看>>
突发奇想20150126
查看>>
郁闷,郁闷啊
查看>>
Nginx + CGI/FastCGI + C/Cpp
查看>>
学习笔记------jsp页面与jsp标记
查看>>
DS博客作业02--线性表
查看>>
第三届ACM山东省赛I题_Chess_STL
查看>>
《C++ Primer》读书笔记 第一章
查看>>
transition与visibility与display
查看>>
14种网页jQuery和css3特效插件代码演示
查看>>
jQuery each和js forEach用法比较
查看>>
Oracle 11g 测试ogg中断之后,重新同步操作
查看>>
Oracle 数据库SQL审计
查看>>
架构师速成5.2-如何掌握综合性技能 分类: 架构师速成 ...
查看>>
【面试】【Spring常见问题总结】【07】
查看>>
正则表达式
查看>>