http://blog.csdn.net/g19920917/article/details/8765638

出现一个java.lang.StackOverflowError异常。弄了半天,又是问高手,又是查资料的。最后发现,解决问题啦!特记录下来!

StackOverflowError是由于当前线程的栈满了  ,也就是函数调用层级过多导致。

比如死递归。

以上是网上查阅的资料。

看懂后,我发现我的项目用的servlet技术,讲doGet()方法添加方法this.doPost()得到解决。

思考:应该是我在实现分页的时候,在点击上一页,下一页时,调用servlet函数后再调回本页面是,出现循环。

result.jsp

  1. <%
  2. int pageNow = Integer.parseInt((String) request
  3. .getAttribute("pageNow"));
  4. if (pageNow != 1) {
  5. out.println("<a href=Db_sel_Servlet?dbversion=Mysql&pageNow="
  6. + (pageNow - 1) + ">上一页</a>");
  7. }
  8. String s_pageCount = (String) request.getAttribute("pageCount");
  9. int pageCount = Integer.parseInt(s_pageCount);
  10. for (int i = 1; i <= pageCount; i++) {
  11. out.println("<a href=Db_sel_Servlet?dbversion=Mysql&pageNow=" + i
  12. + ">[" + i + "]</a>");
  13. }
  14. if (pageNow != pageCount) {
  15. out.println("<a href=Db_sel_Servlet?dbversion=Mysql&pageNow="
  16. + (pageNow + 1) + ">下一页</a>");
  17. }
  18. %>

Db_sel_Servlet.java

    1. public class Db_sel_Servlet extends HttpServlet {
    2. public String flag;
    3. protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    4. throws ServletException, IOException {
    5. this.doPost(req, resp);
    6. }
    7. public void doPost(HttpServletRequest req, HttpServletResponse resp)
    8. throws ServletException, IOException {
    9. try {
    10. String s_pageNow=req.getParameter("pageNow");
    11. int pageNow=Integer.parseInt(s_pageNow);
    12. System.out.println("DB_sel_Servlet.java---->>>pageNow:"+pageNow);
    13. flag = req.getParameter("dbversion");
    14. System.out.println("DB_sel_Servlet---->>" + flag);
    15. File file = new File("D:\\workspace\\version");
    16. FileUtil.WriteFile(file, flag);
    17. UserDaoImpl userDaoImpl = new UserDaoImpl();
    18. List<User> user_list = userDaoImpl.getUsersByPage(pageNow);
    19. int pageCount=userDaoImpl.getPageCount();
    20. System.out.println("DB_sel_Servlet.java---->>>pageCount:"+pageCount);
    21. req.setAttribute("result", user_list);
    22. req.setAttribute("pageCount", pageCount+"");
    23. req.setAttribute("pageNow",pageNow+"");
    24. System.out.println(user_list);
    25. // 清空文件内的内容
    26. FileUtil.EmptyFile(file);
    27. // 跳转到用户管理页面
    28. req.getRequestDispatcher("result.jsp").forward(req, resp);
    29. } catch (Exception e) {
    30. e.printStackTrace();
    31. }
    32. }

【转】java.lang.StackOverflowError的更多相关文章

  1. 页面上使用 Thymeleaf 的内联js不当造成了 java.lang.StackOverflowError: null 问题

    由于在页面上内联js使用不当,从而在从 Controller 跳转到页面时发生了以下错误: java.lang.StackOverflowError: null at org.thymeleaf.ut ...

  2. 错误笔记:Caused by: java.lang.StackOverflowError

    今天在将一个map转化成json出现堆栈异常,排查原因如下:出现循环递归( rootMap.put("rootMap", rootMap);),栈内存肯定耗光 代码: /** * ...

  3. Jackson转换对象为json的时候报java.lang.stackoverflowerror

    无论在将一个对象转为json字符串的时候采用何种算法,如果你的对象的属性的类型不是基本类型或对应的引用类型,转换应该都不会就此结束,那么有一种方式可以导致这种转换陷入无限循环:将某个对象的属性设为对象 ...

  4. struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter

    1. 问题描述: 页面通过异步访问action,    action的方法通过map封装数据,struts的result的type设置为json,后台报错 六月 25, 2016 6:54:33 下午 ...

  5. java.lang.StackOverflowError: stack size 8MB

    java.lang.StackOverflowError: stack size 8MB at android.text.TextUtils.getChars(TextUtils.java:86) a ...

  6. android布局太深导致的 java.lang.StackOverflowError

    E/AndroidRuntime( 1900): java.lang.StackOverflowError E/AndroidRuntime( 1900):     at android.graphi ...

  7. 异常Exception in thread "AWT-EventQueue-XX" java.lang.StackOverflowError

    今天太背了,bug不断,检查到最后都会发现自己脑残了,粗心写错,更悲剧的是写错的时候还不提示错. 刚才有遇到一个问题,抛了这个异常Exception in thread "AWT-Event ...

  8. org.springframework.web.util.NestedServletException : Handler processing failed; nested exception is java.lang.StackOverflowError

    1 ,错误原因,循环冗余检查      result.setNearUsers(userList);            Page page = new Page();            pag ...

  9. java.lang.StackOverflowError 解决方法

    ♦ java.lang.StackOverflowError : 由于深度递归,抛出此错误以指示应用程序的堆栈已耗尽. 在递归中,一个方法在执行期间调用自己.递归被认为是一种强大的通用编程技术,但必须 ...

随机推荐

  1. C#中多线程写DataGridView出现滚动条导致程序卡死(无响应)的解决办法

    因为写的程序涉及到多线程维护一个DataGridView,然后蛋疼的发现经常卡死...一开始以为是读写冲突的原因,然后就加了锁,问题依旧...然后发现每次出现滚动条的时候程序才会无响应,所以感觉应该是 ...

  2. 数位dp入门 hdu2089 不要62

    数位dp入门 hdu2089 不要62 题意: 给定一个区间[n,m] (0< n ≤ m<1000000),找出不含4和'62'的数的个数 (ps:开始以为直接暴力可以..貌似可以,但是 ...

  3. Java String.contains()方法(转载)

    Java String.contains()方法 Java String.contains()方法用法实例教程, 返回true,当且仅当此字符串包含指定的char值序列 描述 java.lang.St ...

  4. POJ 1459 Power Network 最大流(Edmonds_Karp算法)

    题目链接: http://poj.org/problem?id=1459 因为发电站有多个,所以需要一个超级源点,消费者有多个,需要一个超级汇点,这样超级源点到发电站的权值就是发电站的容量,也就是题目 ...

  5. 《疯狂java讲义》笔记 1-5章

    1.编译语言和解释语言理解,摘自李刚老师的<疯狂Java讲义>第三版: 就是说,Java和.net都是编译型有事解释型语言.编译型就是根据不同平台编译成不同的可执行机器码,编译过程中会进行 ...

  6. Android 向系统发送一条短信

    s //向系统写一条短信 ContentValues contentValues = new ContentValues(); contentValues.put("body",& ...

  7. Android开源项目发现---Menu 篇(持续更新)

    1. MenuDrawer 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘.ListView边缘.ViewPager变化划出菜单等. 项 ...

  8. eclipse或IDEA连接魅蓝

    1.首先 安装ADB 驱动 http://developer.android.com/tools/device.html 如果没装就自行去下载安装 别的品牌都可以顺利连接,魅族手机特有的原因导至在开发 ...

  9. NOI2005维护数列

    1500: [NOI2005]维修数列 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 6263  Solved: 1879[Submit][Status ...

  10. eclipse环境NDK问题汇总

    1. 配置NDK路径设置 可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\<你的用户名>\.bash_profile 文件中最后添加环境变量 NDK=/ ...