2019-02-18 11:14

从 response.getWriter() 得到的 Writer 无需自己关闭,web 容器负责关闭它,看一下 java web 相关类中的文档可知

如果你主动关闭,会出下面的问题:
1:在某些 web 容器下,如果在你正发送数据时客户端主动断开连接会报异常,如 undertow 之下

2:拉低性能

早期的 jfinal 版本是主动关闭 Writer 与 OutputStream 的,是多年的打磨改进成现在的样子的

注意,上面所指仅限于 java web 规范中从 HttpServerletResponse response 对象中获取的 Writer 与 OutputStream,不能自行 close(), 其它情况多数需要自己 close(),如 FileOutputStream

2019-02-17 19:29

@tianya 那应该是老版本 jfinal undertow 的依赖没有消除,jfinal undertow 1.5 修复过这个问题,你再试试

2019-02-17 16:04

@yangzhiwen 用于 sql 管理的 Engine 可独立配置 devMode ,配置方法如下:
activeRecordPlugin.getEngine().setDevMode(true)

也可以这样:
activeRecordPlugin.setDevMode(true)
上面这个与前面那个是打通的,两种配置完全等价

重点:由于同一个项目中通常使用了多个 Engine 对象,用于不同的用途,所以这些 Engine 对象需要被单独配置,保障互不干扰

关于独立配置特意补充了相关文档:
http://www.jfinal.com/doc/6-2

2019-02-17 15:56

大概率是 login 上的拦截器发现没登录,给重定向到 index

使用 @Clear 清掉 login 上的拦截器

2019-02-17 14:42

@moyush 将资源放在 E:/xxx/xxx/XXX 之下,然后配置:
undertow.resourcePath=src/main/webapp, E:/xxx/xxx
这样实际目录就多出来一层 "XXX",正好是要访问的路径

2019-02-17 13:49

method 这一栏输出的是 index,而你的代码在 login() 中,完全不同的两个方法,注意区分

2019-02-17 12:20

配置多个 undertow.resourcePath 即可,例如:
undertow.resourcePath=src/main/webapp, E:/xxx/xxx

多个目录用逗号分隔

2019-02-17 10:35

具体什么问题?

2019-02-17 10:35

如果不想放 resources 下面,要配置
activeRecordPlugin.getEngine().setSourceFactory(new FileSourceFactory())

具体原因看下文档最后一章的内容

2019-02-17 10:32

sql 文件放到 src/main/resources 下面去就好

2019-02-16 17:37

上面所说的环境指一系列的东西,如:操作系统、数据库版本、JDK 版本,目前看来是数据库版本与开发时用的不同

2019-02-16 17:36

异常已经很明确提示如何解决:请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库

开发环境与部署环境不一致导致

2019-02-16 15:21

@蓝色忧恋 单步调试一下,看是哪一步慢了

或者换台机器部署试试

2019-02-16 14:07

先下载本站首页右侧的 jfinal demo for maven, 然后当成 maven 项目导入,然后
mvn package 打包

先用 demo 试试手,然后观察 demo 中的 pom.xml 与 package.xml 中的配置方法,照抄过去就好

打包不成功也可能与 maven 配置有关,这里有详细的 maven 安装与配置文档:
https://www.jfinal.com/doc/1-1