84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
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()只能获取根目录。
走同样的路,发现不同的人生
内网是这么访问的http://192.168.1.1/rs,外网是这么访问的:http://61.11.11.11:1002/project/rs?
http://192.168.1.1/rs
http://61.11.11.11:1002/project/rs
反向代理的问题不太懂,不过你把内网外网的路径搞成一样不就行了吗?
在类路径下新建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;
这和全局没关系啊,这值应该自己获取到,不是你设置的,
Threadlocal 可以试试
专门写一个配置文件,存储你需要的所有全局变量,同时构造一个方法动态读取配置,前台可以直接引入。(一个想法)
本身 spring 可以在 xml 配置类似全局变量,如在 ./application.propertites 配置固定变量,然后读取
你的问题应该 是属于 内网 到 外网 URL映射 转发的问题吧,在公网的机器上配置一下
说到底就是项目名字引起的,把项目直接仍在webApps->ROOT 下 文件夹名字大写,就不需要项目名了。引入css以及js直接 就 / 好了
webApps->ROOT
css
js
/
内网是这么访问的
http://192.168.1.1/rs
,外网是这么访问的:http://61.11.11.11:1002/project/rs
?反向代理的问题不太懂,不过你把内网外网的路径搞成一样不就行了吗?
在类路径下新建configure.properties文件,内容如下:
然后在spring-mvc-servlet.xml的配置如下xml片段文,注意一定要是spring mvc配置文件中。
然后在controller使用@Value注入配置的值
这和全局没关系啊,这值应该自己获取到,不是你设置的,
Threadlocal 可以试试
专门写一个配置文件,存储你需要的所有全局变量,同时构造一个方法动态读取配置,前台可以直接引入。(一个想法)
本身 spring 可以在 xml 配置类似全局变量,如在 ./application.propertites 配置固定变量,然后读取
你的问题应该 是属于 内网 到 外网 URL映射 转发的问题吧,在公网的机器上配置一下
说到底就是项目名字引起的,把项目直接仍在
webApps->ROOT
下 文件夹名字大写,就不需要项目名了。引入
css
以及js
直接 就/
好了