做一个 filter servlet 很省心的 不用管这些事

解决方案 »

  1.   

    first thanks!
    你说的filter servlet应该是解决编码问题的吧,对这个类我从来没有接触过,刚才查了一下也只明白了一成,继续学习中,如果代码只有2,3句的话麻烦老兄给一下吧,研究研究,谢谢
      

  2.   

    写道cookie里面去。购物车的东西不是最重要的,可户可没有决定一定要卖,所以可以考虑写到cookie去.
      

  3.   

    那有些人要是把cookie关闭掉呢?不过经过你这么一提醒用数据库的方法好像确实不太明智了,好比我自己也很少最后决定买东西的,最好尽是在写入删除数据库了!
      

  4.   

    写在session里就行了。没必要存在数据库里面。
    session.setAttribute("items",items);
      

  5.   

    关于数据库的中文问题,你用的是什么web服务器??如果是tomcat,那么在获取表单提交的内容以后需要编码转换,如果是risin,就不需要转换!!从数据库取数据无需转换!!
    获取表单汉字你可以写一个方法在声明部分:
    <%! public String code(String s)
          { String str = s;
            byte b[] = str.getBytes("ISO-8859-1");
            str = new String(b);
            return str;
          }
    %>
    调用部分:<% String searchName=request.getParameter("searchName");
                searchName = code(searchName);
                .....
             %>
      

  6.   

    楼上的,十分感谢您的代码,但是我分数刚好结帐接掉了,第一次来也不知道太多的关于分数,哈哈,你就将就点,下次再给你吧,首先,你的程序有点问题,好像一点要有try catch加进去才能通过编译,其次,我用的是resin服务器sql server2000就是有中文问题,不是说resin是支持中文的吗?晕!最后我把代码改成这样还是不行,还是乱码!!!
    <%! public String code(String str){
        String string="";
        try {
          string = new String(str.getBytes("ISO-8859-1"));
        }
        catch (UnsupportedEncodingException ex) {
          ex.printStackTrace();
          return null;
        }
        return string;  }
    %>调用部分:<% String searchName=request.getParameter("searchName");
                searchName = code(searchName);
                .....
             %>
    不知道在您服务器上有没有这个问题!
      

  7.   

    我也是resin+sql2000,不需要编码转换了,去掉编码转换的语句!!
    另外加try的话,catch部分可以这样写:
    catch(Exception e)
     { return str}
    我原来用tomcat,那必须用编码转换,后来我改用resin,结果反而要出错了,所以在resin下必须把编码转换的语句去掉!!我的运行环境是resin2.1.12+sql2000+win2000pro