当connection为http时,request.isSecure()返回true

时间:2012-09-14 18:09:45

标签: java ajax http jsp https

我正在尝试检查我的网址是否为http / https,然后根据第一个下拉列表中选择的值进行AJAX调用以填充多个下拉列表。

var baseurl="<%=request.isSecure()%>";

if (baseurl=='true') {
    var url = 
        "https://<%=request.getServerName()%><%=request.getContextPath()%>/JsonLookup?z=" + zone;    
}
// if the protocol is 'http' 
else 
{   
    alert("inside protocol else");
    var url = "http://<%=request.getServerName()%><%=request.getContextPath()%>/JsonLookup?z=" + zone;  
    alert("inside http:"+url);
}

当协议为http时,我遇到问题,下拉列表不会改变。原因是,即使它是http,base url(isSecure())也总是返回true。

任何人都可以帮我解决这个问题,为了使request.isSecure()返回false,我应该做些什么?

1 个答案:

答案 0 :(得分:1)

你不能使用没有主机名的引用吗?

/path/to/resource

而不是

http://myserver.com/path/to/resource

编辑:

以下是您的示例的样子:

var url = "/<%=request.getContextPath()%>/JsonLookup?z=" + zone;
alert("My root relative URL: "+url); }