【转】java.lang.StackOverflowError
http://blog.csdn.net/g19920917/article/details/8765638
出现一个java.lang.StackOverflowError异常。弄了半天,又是问高手,又是查资料的。最后发现,解决问题啦!特记录下来!
StackOverflowError是由于当前线程的栈满了 ,也就是函数调用层级过多导致。
比如死递归。
以上是网上查阅的资料。
看懂后,我发现我的项目用的servlet技术,讲doGet()方法添加方法this.doPost()得到解决。
思考:应该是我在实现分页的时候,在点击上一页,下一页时,调用servlet函数后再调回本页面是,出现循环。
result.jsp
- <%
- int pageNow = Integer.parseInt((String) request
- .getAttribute("pageNow"));
- if (pageNow != 1) {
- out.println("<a href=Db_sel_Servlet?dbversion=Mysql&pageNow="
- + (pageNow - 1) + ">上一页</a>");
- }
- String s_pageCount = (String) request.getAttribute("pageCount");
- int pageCount = Integer.parseInt(s_pageCount);
- for (int i = 1; i <= pageCount; i++) {
- out.println("<a href=Db_sel_Servlet?dbversion=Mysql&pageNow=" + i
- + ">[" + i + "]</a>");
- }
- if (pageNow != pageCount) {
- out.println("<a href=Db_sel_Servlet?dbversion=Mysql&pageNow="
- + (pageNow + 1) + ">下一页</a>");
- }
- %>
Db_sel_Servlet.java
- public class Db_sel_Servlet extends HttpServlet {
- public String flag;
- protected void doGet(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- this.doPost(req, resp);
- }
- public void doPost(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- try {
- String s_pageNow=req.getParameter("pageNow");
- int pageNow=Integer.parseInt(s_pageNow);
- System.out.println("DB_sel_Servlet.java---->>>pageNow:"+pageNow);
- flag = req.getParameter("dbversion");
- System.out.println("DB_sel_Servlet---->>" + flag);
- File file = new File("D:\\workspace\\version");
- FileUtil.WriteFile(file, flag);
- UserDaoImpl userDaoImpl = new UserDaoImpl();
- List<User> user_list = userDaoImpl.getUsersByPage(pageNow);
- int pageCount=userDaoImpl.getPageCount();
- System.out.println("DB_sel_Servlet.java---->>>pageCount:"+pageCount);
- req.setAttribute("result", user_list);
- req.setAttribute("pageCount", pageCount+"");
- req.setAttribute("pageNow",pageNow+"");
- System.out.println(user_list);
- // 清空文件内的内容
- FileUtil.EmptyFile(file);
- // 跳转到用户管理页面
- req.getRequestDispatcher("result.jsp").forward(req, resp);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
【转】java.lang.StackOverflowError的更多相关文章
- 页面上使用 Thymeleaf 的内联js不当造成了 java.lang.StackOverflowError: null 问题
由于在页面上内联js使用不当,从而在从 Controller 跳转到页面时发生了以下错误: java.lang.StackOverflowError: null at org.thymeleaf.ut ...
- 错误笔记:Caused by: java.lang.StackOverflowError
今天在将一个map转化成json出现堆栈异常,排查原因如下:出现循环递归( rootMap.put("rootMap", rootMap);),栈内存肯定耗光 代码: /** * ...
- Jackson转换对象为json的时候报java.lang.stackoverflowerror
无论在将一个对象转为json字符串的时候采用何种算法,如果你的对象的属性的类型不是基本类型或对应的引用类型,转换应该都不会就此结束,那么有一种方式可以导致这种转换陷入无限循环:将某个对象的属性设为对象 ...
- struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter
1. 问题描述: 页面通过异步访问action, action的方法通过map封装数据,struts的result的type设置为json,后台报错 六月 25, 2016 6:54:33 下午 ...
- java.lang.StackOverflowError: stack size 8MB
java.lang.StackOverflowError: stack size 8MB at android.text.TextUtils.getChars(TextUtils.java:86) a ...
- android布局太深导致的 java.lang.StackOverflowError
E/AndroidRuntime( 1900): java.lang.StackOverflowError E/AndroidRuntime( 1900): at android.graphi ...
- 异常Exception in thread "AWT-EventQueue-XX" java.lang.StackOverflowError
今天太背了,bug不断,检查到最后都会发现自己脑残了,粗心写错,更悲剧的是写错的时候还不提示错. 刚才有遇到一个问题,抛了这个异常Exception in thread "AWT-Event ...
- org.springframework.web.util.NestedServletException : Handler processing failed; nested exception is java.lang.StackOverflowError
1 ,错误原因,循环冗余检查 result.setNearUsers(userList); Page page = new Page(); pag ...
- java.lang.StackOverflowError 解决方法
♦ java.lang.StackOverflowError : 由于深度递归,抛出此错误以指示应用程序的堆栈已耗尽. 在递归中,一个方法在执行期间调用自己.递归被认为是一种强大的通用编程技术,但必须 ...
随机推荐
- Swift lazy 修饰符和方法
LAZY 修饰符和 LAZY 方法 由 王巍 (@ONEVCAT) 发布于 2015/10/07 延时加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间 ...
- web design tools
https://www.google.com/webdesigner/ http://html.adobe.com/edge/inspect/ http://www.creativebloq.com/ ...
- 定位 - MapKit - 基本使用
/** * Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Co ...
- Pentaho Data Integration (三) Pan
官网连接: http://wiki.pentaho.com/display/EAI/Pan+User+Documentation Pan Pan 是一个可以执行使用Spoon编辑的transforma ...
- Security 可视化
http://web.cs.ucdavis.edu/~ma/SecVis/ http://research.dbvis.de/security/tools/clockview/ http://raff ...
- eclipse+maven搭建cxf webservice 完整例子
开发环境是eclipse , maven. 在开发java webservice时,有两个比较流行的框架:axis2和cxf.cxf可以无缝的和spring集成,而axis2需要打包成aar文件,在t ...
- Android使用SeekBar时动态显示进度且随SeekBar一起移动
最近有做一个android项目,里面有使用到在播放视频时可以跳播,同时动态显示播放时间.类似于下图 的效果,我只是抽取其中的一部分做展示,刚接到这个事时也是在网上一通找,最后没找到!而且还碰到有些朋友 ...
- GCC优化选项-fomit-frame-pointer对于esp和ebp优化的作用
我的博客:www.while0.com -fomit-frame-pointer选项是发布产品时经常会用到的优化选项,它可以优化汇编函数中用edp协助获取堆栈中函数参数的部分,不使用edp,而是通过计 ...
- linux字符图形界面
/etc/inittab 1) 字符界面标识: id:3:initdefault: 2) 图形界面标识: id:5:initdefault: [root@ora9i ~]# vi /etc/i ...
- Codevs_1017_乘积最大_(划分型动态规划/记忆化搜索)
描述 http://codevs.cn/problem/1017/ 给出一个n位数,在数字中间添加k个乘号,使得最终的乘积最大. 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提 ...