急求解决啊,

z3225167 2012-02-21 05:44:27
本项目 使用 Spring+hibernate
服务器上tomcal日志里 报错

2012-2-21 0:25:59 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet annomvc threw exception
java.lang.IllegalStateException: Optional long parameter 'gid' is not present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveRequestParam(HandlerMethodInvoker.java:330)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:198)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:128)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:310)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:297)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.jumai001.webapp.filter.IPToCityFilter.doFilter(IPToCityFilter.java:58)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:619)
2012-2-21 0:26:10 org.apache.catalina.core.StandardWrapperValve invoke
...全文
1797 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Nuo 2013-01-23
  • 打赏
  • 举报
回复
10楼正解 我也刚好碰到这个问题 搜索到你这个帖子 我的是private long userId 方法为SpringMVC public String showHeadimg(HttpServletRequest request, HttpServletResponse response, long userId) throws ServletException, IOException {...} 这个是显示图片的方法 <img src="/xxx/xxx/showHeadimg}" 出现楼主所说异常 原因也就是10楼说的 没有userId 系统把他赋值成null 但是我long型的不能赋值null 所以报异常 解决办法 src="/xxx/xxx/showHeadimg?userId=${user.userId}
z3225167 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ldh911 的回复:]
那你悲剧的可以了。。。不过Spring是不会骗人的,检查下运行环境跟你的开发环境是否完全一致吧。
[/Quote]
相当 的纳闷好不, 本地没出现过,错误信息又不报代码 哪一行, 放在服务器上 跑几天 日志里全是 这个错误信息, 汗
leihongCS_DN 2012-02-27
  • 打赏
  • 举报
回复
既然找到了 gid 那就肯定是那里的问题咯
MiceRice 2012-02-27
  • 打赏
  • 举报
回复
那你悲剧的可以了。。。不过Spring是不会骗人的,检查下运行环境跟你的开发环境是否完全一致吧。
z3225167 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ldh911 的回复:]
java.lang.IllegalStateException: Optional long parameter 'gid' is not present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrap……
[/Quote]
问题 是 找了 整个 项目 没发现 long gid 的,, String gid 到有
z3225167 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ldh911 的回复:]
java.lang.IllegalStateException: Optional long parameter 'gid' is not present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrap……
[/Quote]
问题 是 找了 整个 项目 没发现 long gid 的,, String gid 到有 ,,
MiceRice 2012-02-27
  • 打赏
  • 举报
回复
java.lang.IllegalStateException: Optional long parameter 'gid' is not present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.

可选的参数 gid 不存在,但无法被转换为NULL,因为你把它给定义为 基本类型。建议将其修改为 包装类型。

就是说,你定义了参数:long gid
但没有值,那么Spring按理来说按照null来处理,结果倒霉的事情来了:
gid = null; 是不允许的,因为基础类型不能赋值为null。

所以Spring建议你把参数定义修改为 Long gid

根据错误信息提示,大致就是这样,楼主节哀。
z3225167 2012-02-27
  • 打赏
  • 举报
回复
天阿, 就没人知道么?
z3225167 2012-02-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yugaochao 的回复:]
画面有传空值进去。
[/Quote]
页面没值 或者 空值 用 request.getParameter("") 这样的话 应该不会 报错啊
yugaochao 2012-02-22
  • 打赏
  • 举报
回复
画面有传空值进去。
z3225167 2012-02-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 managemyjave 的回复:]
代码不贴出来,怎么给你具体的指错误呢
[/Quote]

现在的问题是 , 我也不知道是执行什么东西的时候,报了这错阿
manageMyJave 2012-02-22
  • 打赏
  • 举报
回复
代码不贴出来,怎么给你具体的指错误呢
anran1026 2012-02-21
  • 打赏
  • 举报
回复
以下是错误原因:
1.servlet或jsp中,重复调用response的 getOutputStream(),response.getWriter()方法
2.form表单里没有 method="post" action=""参数
3.看JDBC操纵数据库的代码,仔细看,例如调用的对象的属性为null。
Connection conn=null; 之后之就调用了conn.??的方法
我就时错在这里
仅供参考!
z3225167 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 m540920181 的回复:]
你用的那个版本的啊,5,?6?7?还是自带的
[/Quote]
apache-tomcat-6.0.32
z3225167 2012-02-21
  • 打赏
  • 举报
回复
apache-tomcat-6.0.32
m540920181 2012-02-21
  • 打赏
  • 举报
回复
你用的那个版本的啊,5,?6?7?还是自带的

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧