作了一个购物模块,测试时,不断向购物车添加商品,当达到100次左右时,Tomcat死掉了,提示如下:
java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
而且,关闭浏览器,从新进入购物模块也不行,请教各位大侠,应该是哪方面的问题?对了,我用的是Struts,我想是不是需要在那里进行一下配置?
很急,搞定就结贴。大家帮帮忙,谢谢~!

解决方案 »

  1.   

    给你个建议,找到你现在用的struts的源码,按照上面提示的行数找到抛出异常的位置,然后分析一下,也许能知道怎么回事。
      

  2.   

    我在session里面存了一个ArrayList对象,ArrayList存的是产品信息对象,我应该如何处理呢?我加如产品到购物车时,是在ArrayList中加入了一个对象,与这有关系吗?但是也必须这样作啊?请问楼上有何高见?
      

  3.   

    如果一百次以后出现这个问题,估计是struts自身的问题了,和你的程序关系不大,其实struts也是一堆的bug,估计你碰到了,不过可以在页面添加一个限制,限制只能添加100次,如果超过就不添加了,为了稳定性这个限制也不过分,就是不知道这个100次是不是压力测试做的,如果是的话可能不太好向测试交差,嘿嘿
      

  4.   

    不过倒是另一个问题,如果每个session都可以添加100个倒没有什么问题,担心的是不管session的个数,整个Context环境只能添加100个,那样就有问题了,当然只是猜测,需要验证
      

  5.   

    没遇到过,以前听说JBoss也有这样的问题
      

  6.   

    物品用session保存,太耗资源了吧,想想优化优化吧,比如保存物品用cookie,其他重要简单的信息用session
      

  7.   

    解决访问量大的问题,可以通过优化jvm.tomcat集群等等解决.
    但是最关键的是你的代码不能写的有问题.不能有大量session,数据库连接没有关闭.
      

  8.   

    应该是程序问题,哪个变量转换时出错,比如null拿去操作之类的
      

  9.   

    to laughsmile(海边的星空) 
    请问session是存与内存还是存于硬盘?跟客户端硬件配置有关系吗?如果不用session,可以用什么方式取代?大型电子上网网站一般用什么架构(模式)开发?
    我是新手,刚学jsp不到一个月,以前主要作32程序,也没有网站开发经验,很多疑惑,请勿见笑。
      

  10.   

    我也觉得用Session保存物品信息,太浪费了,你可以想想用其它什么的保存哈!我觉得可能是Session的问题,你想,保存100条物品信息,呵呵,TomCat不死,还活呢!
      

  11.   

    也因为Session会占用你的网络资源,其实,还有很多东西可以用的,用树,图,列表都可以保存物品信息的,但这些东西都是保存在内存的,但不会占用网络资源,所以比用Session要好得多的咯!我也是新手好,个人观点!
      

  12.   

    如果保存的内容不大,最好使用hidden变量保存在页面中.
    如果万一要使用session,一定要注意关闭操作.
      

  13.   

    如果你考虑到安全问题,也可以写cookie