网页入口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()

无特殊处理

转载于:https://www.cnblogs.com/syjkfind/p/4857117.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值