struts2的DefaultActionMapper

DefaultActionMapper是ActionMapper的实现类

其中一个用法是解析url请求 然后把信息封装成一个ActionMapping, ActionMapping对应一个Action,比如Action的name,namespace,method等信息

public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) {
        ActionMapping mapping = new ActionMapping();
        String uri = RequestUtils.getUri(request);

        int indexOfSemicolon = uri.indexOf(";");
        uri = (indexOfSemicolon > -1) ? uri.substring(0, indexOfSemicolon) : uri;

        uri = dropExtension(uri, mapping);
        if (uri == null) {
            return null;
        }

        parseNameAndNamespace(uri, mapping, configManager);
        handleSpecialParameters(request, mapping);
        return parseActionName(mapping);
    }


从HttpServletRequest得到url,比如 http://localhost:8080/工程名/userAction.action

int indexOfSemicolon = uri.indexOf(";");

uri = (indexOfSemicolon > -1) ? uri.substring(0, indexOfSemicolon) : uri;

这两句是修正url的带;jsessionid 时找不到的bug ,具体没理解

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。