我想通过项目名称访问工程

jfinalclub工程如果配置的端口是8080,启动后访问 http://ip:8080/  就可以进入首页了。

我现在的想法是   启动后,访问http://ip:8080/工程名   进入首页

请问怎么设置才可以  

评论区

JFinal

2019-09-29 23:50

在undertow.txt 中配置 context 即可,例如:
undertow.contextPath=/项目名称

注意:由于 html 中的图片、js、css 等资源文件都用的绝对路径,是没有添加 contextPath 前缀的,所以页面的css、图片、js 等资源的路径全都会不正常,需要你做出改变

需要做出两个改变
1:在 JFinalClubConfig 中的 configEngine(Engine engine) 方法中添加如下配置:
engine.addSharedObject("CTX", JFinal.me().getContextPath());

2:html 中所有资源要添加 #(CTX) 前缀,例如:
<img src="#(CTX)/upload/xxx.jpg" >
上面是以图片的路径为例,js、css 等资源路径也要这样来处理

JFinal

2019-09-29 23:51

jfinal 不建议使用 context path 这种配置,除了增加工作量以外,没有任何好处

teddybear

2019-09-30 16:12

谢谢解答。提这个需求的原因是,有时候会在同一个域名之下,启动多个后台工程。如果没有上下文的区分,后台工程基础功能路径是相同的,会导致无法配置反向代理。

JFinal

2019-10-01 14:24

@teddybear 多个工程在同一个域名之下有很多解决办法使用同一个域名,最简单的办法是多个工程分别启动在不同的端口上,然后用一个 nginx 服务做好代理即可

JFinal

2019-10-01 14:25

@teddybear 此外,还可以为不同的工程分配不同的路由,让路由的一部分代替 context path

热门反馈

扫码入社