使用pageContext.request.contextPath获取路径的时候端口不对?
我把新增的模块传到我们公司的服务器后,(外网:192.168.0.10:9090)页面跳转到我的页面时,页面无法显示,查看url发现请求页面的端口号变成了内网的端口号(1...
我把新增的模块传到我们公司的服务器后,(外网:192.168.0.10:9090)页面跳转到我的页面时,页面无法显示,查看url发现请求页面的端口号变成了内网的端口号(192.168.0.10:8080),但是只有我的电脑出现这个问题,到其他机器上能正常跳转且端口号正确,请问这是什么问题啊?
那么久的问题了,难为你回答了。其实问题本身就有问题,
pageContext.request.contextPath
获取的是虚拟路径,是不包含主机名和端口号的,是我自己搞错了,实际上获取端口号的代码如下(自动生成的代码):
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">//这句就是导致我端口号异常的根源,删掉就正常了。
虽然已经不需要帮助了,但分还是你吧!多谢! 展开
那么久的问题了,难为你回答了。其实问题本身就有问题,
pageContext.request.contextPath
获取的是虚拟路径,是不包含主机名和端口号的,是我自己搞错了,实际上获取端口号的代码如下(自动生成的代码):
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">//这句就是导致我端口号异常的根源,删掉就正常了。
虽然已经不需要帮助了,但分还是你吧!多谢! 展开
2个回答
推荐于2016-07-20
展开全部
首先:问题描述里面,你的外网跟内网的概念表述模糊。192.168的都是内网。不会是公网。
出现这种情况,你需要check三方面的东西:
客户端:一个是本地的配置,就是你的本地DNS配置,查看一下是否有误,是否配置了静态的映射地址。具体方法还要辛苦你搜下。
服务器端:check TOMCAT的conf文件夹下的server.xml。确认这两个端口是否有开启
代码层次:是否在filter里面或者业务代码逻辑里面,对你自己的IP做了特殊的处理。
感觉服务器端和代码层次的原因可能性不会太大。所以建议你仔细check一下自己DNS的配置和浏览器的问题。浏览器可以用其他浏览器打开试试,如果还是同样的情况,就可以确认是DNS的问题了
希望对你有帮助!如果有用就加分吧
出现这种情况,你需要check三方面的东西:
客户端:一个是本地的配置,就是你的本地DNS配置,查看一下是否有误,是否配置了静态的映射地址。具体方法还要辛苦你搜下。
服务器端:check TOMCAT的conf文件夹下的server.xml。确认这两个端口是否有开启
代码层次:是否在filter里面或者业务代码逻辑里面,对你自己的IP做了特殊的处理。
感觉服务器端和代码层次的原因可能性不会太大。所以建议你仔细check一下自己DNS的配置和浏览器的问题。浏览器可以用其他浏览器打开试试,如果还是同样的情况,就可以确认是DNS的问题了
希望对你有帮助!如果有用就加分吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询