麻烦看一下这个错误是怎么引起的呢?

[ERROR]-[Thread: http-bio-9999-exec-8]-[com.jfinal.core.ActionHandler.handle()]: /blog/

java.lang.NullPointerException

at com.jfinal.plugin.activerecord.Model.doPaginate(Model.java:329)

at com.jfinal.plugin.activerecord.Model.paginate(Model.java:303)

at com.demo.blog.BlogService.paginate(BlogService.java:22)

at com.demo.blog.BlogController.index(BlogController.java:20)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at com.jfinal.aop.Invocation.invoke(Invocation.java:73)

at com.demo.blog.BlogInterceptor.intercept(BlogInterceptor.java:17)

at com.jfinal.aop.Invocation.invoke(Invocation.java:67)

at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)

at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:74)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

@JFinal  请问这个是因为什么引起的?是数据库连接问题么?我在阿里云上部署的项目。数据库连接应该怎么写呢。数据库是阿里云本地装进去的。

评论区

JFinal

2017-08-13 16:01

null pointer exception 这个是最基本的异常,某个对象为 null ,但你调用了它的方法

目测是 ActiveRecodPlugin 启动失败,没有获取到数据库连接,注意 localhost 连接的用户名与密码是否正确,并且确保在本地可以用该用户名连接

youyuyang

2017-08-13 16:09

@JFinal 我把项目部署到阿里云中,数据库也是阿里云当前服务器自己安装的mysql,项目中添加的连接为:jdbcUrl = jdbc:mysql://localhost/demo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
端口号为3306加上也不好使。
我在自己本地把地址改为服务器地址的时候是可以连接的。这里的连接我在服务器上应该怎么改呢?谢谢

JFinal

2017-08-13 16:16

@youyuyang 用类似于 xshell、putty 这样的 ssh 登录到服务器,然后运行下面的命令登录到mysql:
mysql -uroot -p

登录进去以后通过 use demo; 切换到 demo 数据库,然后再 select * from ... 查询一下

确保在远程机器上可以登录以后,再将这个可以登录的用户名与密码放在程序中使用即可

youyuyang

2017-08-13 16:16

@JFinal 现在本地也起不来了。。这个是什么原因引起的呢。。数据库是阿里云的。。不是本地的。。

JFinal

2017-08-13 16:16

本站的 mysql 数据库也是安装在阿里云上的,也是通过上面的jdbcUrl 登录的,可以不用指定端口号,默认就是 3306

youyuyang

2017-08-13 16:22

@JFinal 我在本地的工具可以访问数据库,,并且用生成model的工具类可以生成。但用tomcat启动后,连接不到数据库。。这是什么原因呢。。

youyuyang

2017-08-13 16:38

@JFinal 原因我自己找到了。。谢谢啊。。_MappingKit.java这个文件是做实体类与数据库表映射的么。生成类的时候覆盖了。之前的关系都覆盖掉了。所以会报错。

热门反馈

扫码入社