spring mvc当中有没有全局变量,类似我设置项目的路径base = "/rs" 或者base="http://192.168.0.1/rs"
然后在页面使用el表达式获取${base} 引入js或者css
因为网站部署在内网的机器如192.168.1.1 tomcat根目录 外网访问只能通过61.11.11.11:1002/project 这样进行访问,request.getContextPath()只能获取根目录。
spring mvc当中有没有全局变量,类似我设置项目的路径base = "/rs" 或者base="http://192.168.0.1/rs"
然后在页面使用el表达式获取${base} 引入js或者css
因为网站部署在内网的机器如192.168.1.1 tomcat根目录 外网访问只能通过61.11.11.11:1002/project 这样进行访问,request.getContextPath()只能获取根目录。
在类路径下新建configure.properties文件,内容如下:
web.base=root
然后在spring-mvc-servlet.xml的配置如下xml片段文,注意一定要是spring mvc配置文件中。
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:configure.properties</value>
</list>
</property>
</bean>
然后在controller使用@Value注入配置的值
@Value("${web.base}")
private String base;
本身 spring 可以在 xml 配置类似全局变量,如在 ./application.propertites 配置固定变量,然后读取
你的问题应该 是属于 内网 到 外网 URL映射 转发的问题吧,在公网的机器上配置一下
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
内网是这么访问的
http://192.168.1.1/rs
,外网是这么访问的:http://61.11.11.11:1002/project/rs
?反向代理的问题不太懂,不过你把内网外网的路径搞成一样不就行了吗?