有两个页面,一个后台为WorkerAction,一个后台为sendmessage,都需用到Dao使用FETCH或QUERY,login中某个方法需调用sendmessage.send的方法,我用new sendsessage().send,调用后报DAO为空,这个是啥子原因,单独在一个页面使用正常。
@IocBean
@At("/sendmessage")
@Ok("json")
@Fail("http:500")
public class sendmessage {
@Inject
protected Dao dao;
@At
@Ok("json")
public String send(@Param("dn")String dn,@Param("smstext")String smstext) throws UnsupportedEncodingException
{
dn=URLDecoder.decode(dn,"UTF-8").trim().intern();
smstext=URLDecoder.decode(smstext,"UTF-8").trim().intern();
String sender="";
String smstextid="",url="";
smstext=smstext.trim();
smsip Smsip=dao.fetch(smsip.class,Cnd.where("describer","=","ftth"));//在这里报dao为null
if(Smsip==null)
return "error:数据库中没有找到发送FTTH短信的账号";
HttpSession session = null ;
if(session.getAttribute("gh")!=null)
sender=session.getAttribute("gh").toString();
else
sender="";
if(dn.trim()=="")
return "error:接收短信的号码为空";
if(smstext.trim()=="")
return "error:发送的短信内容为空";
String [] dns=dn.trim().split(",");
SimpleDateFormat df=new SimpleDateFormat("yyyyMMddHHmmssss");
newsms Newsms=new newsms();
@IocBean
@At("/user")
@Ok("json")
@Fail("http:500")
public class WorkerAction {
@Inject
protected Dao dao;
@At
public String sendmessage(String dn,String smstext) throws UnsupportedEncodingException
{
//smsip Smsip=dao.fetch(smsip.class,Cnd.where("describer","=","ftth"));
dn=dn.trim();
return new sendmessage().send(dn,smstext);
}
```
20-04-04 17:03:46.455 WARN [http-nio-8089-exec-302] Error@/user/dealyzm :
java.lang.NullPointerException
at main.sendmessage.send(sendmessage.java:53)
at main.WorkerAction.sendmessage(WorkerAction.java:642)
at main.WorkerAction.tjyzm(WorkerAction.java:620)
at main.WorkerAction.dealyzmid(WorkerAction.java:564)
at main.WorkerAction.dealyzm(WorkerAction.java:491)
at main.WorkerAction$FM$dealyzm$ac29c7ca8e2c75d8c33ec0f0e357d1d1.invoke(WorkerAction.java)
at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:31)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:38)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:202)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)