今天试着写一个新闻发布系统,但是遇到了一个错误。
2011-11-2 23:46:48 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [default] in context with path [/HCF] threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:443)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:801)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:519)
...........................................
上网查资料,出现IllegalStateException异常的可能情况:
1)同一个页面中再次调用response.sendRedirect()方法。
2)提交的URL错误,即不是个有效的URL。
于是,我用Junit进行调试,这样的话就不涉及到上边的两个原因了,可是还是有错
net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
at net.sf.json.JSONObject._fromBean(JSONObject.java:738)
at net.sf.json.JSONObject.fromObject(JSONObject.java:182)
..........................................
或者这个时候能排除上边的两个原因了吧,
看看出的错,貌似是转换错误,继续在网上查资料
发现了这个:
在使用json时, json中只支持java.util.Date 中的Date类 ,而不支持java.sql.Date 中的类 ;
got it,我的javabean里面有一个日期变量是java.sql.Date类型的,接下来,把那个日期的类型换成java.util.Date,程序没有报错,也没有再抛出异常。