struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter
1. 问题描述:
页面通过异步访问action, action的方法通过map封装数据,struts的result的type设置为json,后台报错
六月 25, 2016 6:54:33 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/msf] threw exception [Filter execution threw an exception] with root cause
java.lang.StackOverflowError
at sun.reflect.misc.ReflectUtil.checkPackageAccess(ReflectUtil.java:177)
at sun.reflect.misc.ReflectUtil.checkPackageAccess(ReflectUtil.java:164)
at sun.reflect.misc.ReflectUtil.isPackageAccessible(ReflectUtil.java:195)
at java.beans.Introspector.getBeanInfo(Introspector.java:154)
at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:177)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
2.action的代码
package com.cdv.mediastar.action; import java.util.HashMap;
import java.util.List;
import java.util.Map; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import com.cdv.mediastar.model.User;
import com.cdv.mediastar.model.UserSessionlog;
import com.cdv.mediastar.service.UserService;
import com.cdv.mediastar.util.PageParameter;
import com.opensymphony.xwork2.ActionSupport;
@Scope("request")
@Controller("logAction")
public class LogAction extends ActionSupport { /**
*
*/
private static final long serialVersionUID = -1455520770797186253L; Map<String, Object> dataMap = new HashMap<String, Object>(); public Map<String, Object> getDataMap() {
return dataMap;
} public void setDataMap(Map<String, Object> dataMap) {
this.dataMap = dataMap;
}
@Resource
private UserService userService; public String index(){
return "index";
} public String list(){
dataMap.clear();
PageParameter page = new PageParameter();
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
String userid = user.getUserid();
String appName = "Alkaid";
List<UserSessionlog> sessionlogList = userService.findlog(userid, appName, 0, page.getPageSize());
int totalCount = userService.countlog(userid, appName);
int totalPage = totalCount%page.getPageSize()==0?totalCount/page.getPageSize():totalCount%page.getPageSize()+1;
page.setTotalCount(totalCount);
page.setTotalPage(totalPage);
int startNum = 0, stopNum = 0;
startNum = 1;
if((startNum+page.getPageSize()-1)<=totalCount){
stopNum = startNum+page.getPageSize()-1;
}else{
stopNum = totalCount;
}
dataMap.put("startNum", startNum);
dataMap.put("stopNum", stopNum);
dataMap.put("page", page);
dataMap.put("sessionlogList", sessionlogList);
return "success";
} }
3. 问题排查及解决方案
以上红色部分,向map中添加了两个对象,结果值栈(StackOverflow)溢出。
去掉一个对象page,改为加入String类型的值,错误解决。
struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter的更多相关文章
- java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter /struts2.1.3以前版本和之后版本区别/新版Eclipse找不到Java EE Module Dependencies选项
严重: Exception starting filter struts2java.lang.ClassNotFoundException: org.apache.struts2.dispatcher ...
- java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
采用SSH框架时出现了 java.lang.NullPointerException org.apache.struts2.impl.StrutsActionProxy.getErrorMessage ...
- 在Eclipse IDE进行Struts开发时提示错误:java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher的解决办法
If you have... included all necessary jars Configured build path correctly added them all in deploym ...
- 第一次部署Struts2时出现错误java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.class
报如下错误 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org. ...
- java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher
老版本的Struts2升级,启动报的错. org.apache.struts2.dispatcher.FilterDispatcher 是web.xml中对struts2 2.2版本的接入点的类. ...
- Struts2配置问题java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
方法一:右键点击项目--->build path-->configure build path-->左侧菜单栏就会看到Deployment Assembly-->右侧点击add ...
- java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
报这个错是因为加的struts的jar包有问题... 另外,jar包应该放在WEB-INF下的lib文件夹里面,且不必Add to build path,该目录下的jar包会自动引入 使用struts ...
- struts2中的错误--java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
2013-4-7 10:13:56 org.apache.catalina.startup.HostConfig checkResources 信息: Reloading context [/chap ...
- spring异常记录-----java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
今天在练习怎样SSH中进行单元測试的时候出现下列异常: SEVERE: Exception starting filter Struts2 java.lang.NoClassDefFoundError ...
随机推荐
- How to Debug Enterprise Portal Code in Dynamics AX 2009
转载 To set up debugging for pages1. Log into the server that is running the AOS.2. Open the Microsoft ...
- 写出几种IE6 BUG的解决方法
1.双边距BUG float引起的 使用display:inline 2.3像素问题 使用多个float和注释引起的 使用dislpay:inline -3px 3.超链接hover 点击后失效 ...
- 在自己的对象里实现IEnumerator和IEnumerable
平时工作中我们经常用foreach来迭代一个集合.比如 foreach (Student student in myClass) { Console.WriteLine(student); } 基本所 ...
- python 大数据分析
#coding:utf-8 ''' @author solq by 2016-01-06 main(目录,正则过滤文件名) 执行完最后打印结果 ''' import json import fnmat ...
- jdk的设置及安装android studio提示does not point to a valid jvm问题
设置方法: 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: JAVA_HOME值为:安装JDK的目录, 我的为C:\Program Files\Java\ ...
- BW对应后台表[转]
数据源对应后台表 (2012-01-04 20:08:57) 转载▼ 标签: 杂谈 分类: SAP MM Data Sources Tables Purchasing 2LIS_02_SCL EKKO ...
- 【原创】MYSQL++源码剖析——前言与目录
终于完成了! 从第一次想写到现在真的写好大概花了我3个月时间.原来一直读人家的系列文章,总感慨作者的用心良苦和无私奉献,自己在心里总是会觉得有那么些冲动也来写一个. 最开始的麻烦是犹豫该选哪个主题.其 ...
- STL中的算法小结
()要运用STL的算法,首先必须包含头文件<algorithm>,某些STL算法用于数值处理,因此被定义于头文件<numeric> ()所有STL算法都被设计用来处理一个或多个 ...
- 【转载】SHELL字符串处理技巧(${}、##、%%)
转载自:http://www.cnblogs.com/pmars/archive/2013/02/17/2914444.html 在SHELL编程中,经常要处理一些字符串变量.比如,计算长度啊.截取子 ...
- Pagekit – 现代化技术构建的轻量的 CMS 系统
Pagekit 是一个模块化,轻量的 CMS 系统,基于现代化的技术,如 Symfony 组件和 Doctrine.它提供了一个很好的平台,用于主题和延伸开发.Pagekit 为您提供了工具来创造美丽 ...