码迷,mamicode.com
首页 > Web开发 > 详细

web的mvc

时间:2018-02-06 18:11:22      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:mod   项目   责任   oncommand   blog   and   创建   图形   提交   

  以企业端ActQryPre.do为例,菜单导航栏触发

Menu	ActQry	2	PActQry,ActQryPre.do	

 

  tomcat 解析web.xml标签 读取<listener>和<context-param>两个结点创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。tomcat将<context-param>转换为键值对,并交给servletContext。 并创建<listener>中的类实例,创建监听器。 

// ServletContext -> context-param -> listener -> filter -> servlet。
<display-name>powerengine dispatcher</display-name>
        <servlet-name>Dispatcher1</servlet-name>
        <servlet-class>com.csii.pe.channel.http.servlet.MainServlet</servlet-class>

 

  MainServlet组合  multipartResolver multipart解析器、localeResolver locale解析器、viewResolver 视图解析器、mainController 主控制器。主要是解耦给MainController处理,并处理视图

protected final void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    
private void initController() throws BeansException {
        try {
            this.controller = (Controller)this.getWebApplicationContext().getBean("mainController");
            
model = this.controller.process(request, response, locale);

 

  MainController组合 idResolver transactionId解析器、contextResolver 上下文解析器、exceptionHandler 异常处理、coreController 逻辑处理,责任链入口。主要是解耦给coreController,这里的上下文解析器将请求转换到context,transactionId找到template,模板走注入的chain


  chain
 就是责任链模式,最后处理的是DelegateCommand。requestCheckCommand UGC(用户提交内容)和谐,防止XSS、loginControlCommand 防撞库、tokenControlCommand 防重复提交,防CSRF(跨站请求伪造)、tokenControlVercodeCommand 图形验证码校验、phoneTokenControlCommand 短信验证码校验、ValidationCommand:执行系统级的基于Style的有效性检查、DelegateCommand:每一个Chain必须有一个而且仅限于一个DelegateComand          
 
    MainServlet–>MainController–>CoreController–>Chain–>Template–>Action。流程最终到了我们自己写的action处理后,返回dopost等一套类似的逻辑。

web的mvc

标签:mod   项目   责任   oncommand   blog   and   创建   图形   提交   

原文地址:https://www.cnblogs.com/liwanxing/p/8423094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!