zoukankan      html  css  js  c++  java
  • 网页入口ControlServlet分析

    init()

    configureBsf(); //配置自定义bsf,即在bean script中注册ofbiz实现的脚本引擎

    getRequestHandler(); //初始化request handler,即加载该模块的controller.xml

     

    doPost()->doGet()

     

    doGet()

    操作

    描述

    设置请求头

    设置charset,若ServletContext里有则取值,否则取request中的,再没有则设置为"UTF-8"

    设置响应头

    设置contentType"text/html"charset

    GenericDelegator.pushUserIdentifier()

    若有:从会话中取出userLoginuserLoginId存入Delegator

    request设置属性 _CONTROL_PATH_

    for JSP dispatching

    初始化delegator

    若会话中已存在delegatorName,则从缓存中取得delegator

    会话没有则从ServletContextdelegator

    分别把对象写入request和把名称写入session

    再没有则记录错误后继续。

    初始化dispatcher

    从会话中取,若没有则从ServletContext取,存入request

    初始化authz

    从会话中取,若没有则从ServletContext取,存入request

    初始化security

    从会话中取,若没有则从ServletContext取,存入request

    request设置属性_REQUEST_HANDLER_

    存入的对象为requestHandler,即加载controller.xml

    request设置属性ftlServletContext

    即初始化freemarker的上下文

    setInitialRequestInfo

    request一些请求头信息如locale、浏览器等存入会话

    GenericDelegator.pushSessionIdentifier()

    创建或取出visitId,类似于sessionId,存入会话

    logRequestInfo(request)

    记录日志

    request设置属性_FORWARDED_FROM_SERVLET_

    标记是内部转发,让其他filter做相应的处理(比如不拦截)

    requestHandler.doRequest()

    处理请求

    errorPage非空则表示有错误

    includeerrorPage,若失败则直接输出错误信息

    事务回滚处理

    若有事务在做则回滚,若有事务挂起则清空

    ServerHitBin处理

    即负载均衡中本机的响应,追踪请求和时间等信息

    清除delegator的会话信息

    clearUserIdentifierStack()clearSessionIdentifierStack()

     

    destroy()

    无特殊处理

  • 相关阅读:
    APP测试--功能测试
    笨方法学python--读文件
    笨方法学python--参数,解包,变量
    Jmeter工具学习(四)——插件安装及使用(转载)
    JMeter工具学习(三)——获取全局变量 token
    FROM_UNIXTIME()时间戳转换函数
    软件测试用例编写规范总结(转载)
    Jmeter之Bean shell使用(二)(转载)
    JMeter工具学习(一)工具使用详细介绍
    JMeter工具学习(二)——获取登录 token
  • 原文地址:https://www.cnblogs.com/syjkfind/p/4857117.html
Copyright © 2011-2022 走看看