2019-11-11 10:34

@smileForLife 应该是相关字符集配置有问题,找一找

2019-11-11 10:34

有些大厂的数据库设计规范,强制必须要用有主键,没有主键是一个不好的习惯

2019-11-11 10:33

@macaque 换成 useFirstFound 一定是可以的,前提是你的 jar 里头没有同名配置文件

2019-11-11 10:30

提两个建议:
1:jfinal undertow 最新代码已经在 WebBuilder 中开放了一个 getDeploymentInfo() 方法,所以可以不需要改造 WebBuilder 就能扩展各种方法了

2:你碰到的这个需求其实仍然可以使用 enjoy 来做,在你扩展 undertow 的 ErrorPage 类中,大致可以这么使用:
HttpServletRequest request = threadLocal.get();
Engine.use().getTemplate("404.html").render(data, request.getOutputStream());

这里的关键在于 request 对象要通过一个 ThreadLocal 传送过来

希望你通过我的第二条建议尝试用 enjoy 来解决一下,记得回来分享,这种用法从来没人分享过

2019-11-11 10:26

这个分享对于一定要使用 JSP 的同学来说简直是福音,虽然我强烈建议使用 enjoy,但有时候开发者往往做不了主

点赞 + 收藏是必须的,感谢

2019-11-08 20:15

@小太阳cm 老项目用 jetty-server 就挺好,这个项目用了八年,品质有保障

当然,jfinal-undertow 更好用

2019-11-08 20:13

可能是 linux 配置问题,按如下步骤解决一下:
1:修改 i18n 配置
vim /etc/sysconfig/i18n
将 LANG变量修改为:
LANG="zh_CN.UTF-8"

2:修改 profile 配置,添加两个变量(如果有了则修改)
vim /etc/profile
添加如下两个变量
export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"

3:使用 source 命令让配置立即生效
source /etc/sysconfig/i18n
source /etc/profile

2019-11-08 20:09

比我给的方案简单方便多了,必须收藏 + 点赞

此外,这个功能已经添加到了 jfinal-undertow,代码在此:
https://gitee.com/jfinal/jfinal-undertow/commit/9f07cfeec48b4695c8e400f022a9dbb80fe6c3b3

2019-11-08 18:19

@happyboy 这么快就搞定了,超赞,这个问题值得分享

2019-11-08 18:18

看上去像是 dependency 中出现了多个版本的 servlet 依赖,注意去除干净

此外, undertow 不支持 JSP,建议使用 jfinal 的 enjoy,谁用谁爽翻:
https://www.jfinal.com/doc/6-1

如果一定要使用 JSP,可以使用 jetty-server:
https://www.jfinal.com/doc/1-6

或者使用传统 java web 的开发方式:
https://www.jfinal.com/doc/1-11

2019-11-08 18:15

@macaque appendIfExists(...) 也可以,但建议使用 PropKit.useFirstFound(...)

这个问题的本质是,config 目录与 jar 包中出现同名配置文件时, jar 包中的优先

解决的时候,让 jar 不要打入配置文件,或者打入 dev 配置,在 config 中添加 pro 配置

2019-11-08 18:13

@macaque appendIfExists(...) 也可以,但建议使用 PropKit.useFirstFound(...)

2019-11-08 18:09

这个问题确实很麻烦,值得改进,谢谢反馈

2019-11-08 17:02

可以通过配置 undertow 实现,这个要去看它的官方文档

这个一般不需要配置,因为用户的 "主请求" 都是 action,而 .jpg 这类 "副请求" 都是客户端通过响应的 html 后续加载的,不会体现在用户的主请求中