如题,我是新手,没有实际的项目开发经验,框架也还没有完全学好,最近在帮导师做一个小项目,用的是jsp+servlet的平台,遇到一个问题,就是多个jsp页面之间如要共享数据,且数据量较大,不是一般的用户名之类的数据,此时要是采用session的话,必然会比较耗内存,请问实际开发中该如何处理?

解决方案 »

  1.   

    我建议还是放session,在最后一个用完了的时候把session清理,调用session的invalidate()方法即可
      

  2.   

    大到什么程度?
    数据可以放到数据库里
    不想放数据库里可以放在文件里,如XML,然后写个util去读取
    也可以直接放实体,用ObjectInput生成二进制文件
    其实我想说如果是jsp数据传输,session应该还是可以满足你的要求的
      

  3.   

    JSP共享数据应该不会太大吧,用session应该可以hold住的。
      

  4.   

    页面之间共享的数据能有大多,你想想看,当一个会话结束后此数据一般会invalidate。所以我感觉session是没一点问题的。
      

  5.   

    package   y2ssh.sg.chp1.framework; 
    import   java.io.IOException; 
    import   javax.servlet.ServletException; 
    import   javax.servlet.http.HttpServlet; 
    import   javax.servlet.http.HttpServletRequest; 
    import   javax.servlet.http.HttpServletResponse; 
    //import   y2ssh.sg.chp1.action.AddAction*; 
    import   javax.servlet.http.HttpServletResponse; 
    import   javax.xml.ws.Action; public   class   Controller   extends   HttpServlet{ 
    private   Action   determinctionBypath(HttpServletRequest   request){ 
    Action     ret   =   null; 
    String   path   =   request.getServletPath(); 
    int   actionName   =   path.lastIndexOf(( '/ ')   +path.length()   -   3); if( "add ".equals(actionName)){ 
    ret   =   new   AddAction(); 

    return   ret; 

    public   void   doGet(HttpServletRequest   request,HttpServletResponse   response) 
    throws   ServletException,IOException{ 
    Action   action   =   (Action)this.determinctionBypath(request); 
    String   resultView   =   action.execute(request,   response); 
    if(null   !=   resultView){ 
    request.getRequestDispatcher(resultView).forward(request,   response); 

                                          

    } 高手门帮我看看这代码哪里有错误啊。 
      

  6.   

    看了下session是没有大小限制的,只要内存够大就行,就放session吧.谢谢各位大虾啦