Java 在HttpServlet中强制从HTTPS到HTTP的请求
我有一个与工作的链接Java 在HttpServlet中强制从HTTPS到HTTP的请求,java,servlets,Java,Servlets,我有一个与工作的链接 “https://”和“http://” 以前 当我使用htppservlet从“https://”请求时, 我希望响应返回一个“http://”。 因此,客户端可以更轻松地查看 我该怎么办 您可以使用如下代码来实现: if (request.isSecure()) { // it is HTTPS String reqUrl = req.getRequestURL().toString().replaceFirst("https:", "http:");
“https://”和“http://”
以前
当我使用htppservlet从“https://”请求时,
我希望响应返回一个“http://”
。
因此,客户端可以更轻松地查看
我该怎么办 您可以使用如下代码来实现:
if (request.isSecure()) { // it is HTTPS
String reqUrl = req.getRequestURL().toString().replaceFirst("https:", "http:");
String queryString = req.getQueryString();
if (queryString != null)
reqUrl += '?' + queryString;
response.sendRedirect(reqUrl);
}
您希望通过HTTP重定向到同一个servlet,还是希望使用包含HTTP链接的页面进行响应?希望浏览器不会在不提示用户确认的情况下自动从HTTPS降级到HTTP。“这样客户端可以更方便地查看。”这完全超出了我的理解范围。到底是什么问题?客户端希望重定向到没有“https”的链接。因此,我必须将其改为“http”,您可以不太详细地进行替换(尽管可能不太容易理解?),因为getRequestURL()
返回StringBuffer
:String reqUrl=req.getRequestURL().replace(0,6,“http:”).toString()代码>感谢您的帮助,我通过在配置文件“replace into'http://”中编辑解决了这个问题