购物车用数据库保存好还是用其他方法好?(两个问题) 做一个 filter servlet 很省心的 不用管这些事 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 first thanks!你说的filter servlet应该是解决编码问题的吧,对这个类我从来没有接触过,刚才查了一下也只明白了一成,继续学习中,如果代码只有2,3句的话麻烦老兄给一下吧,研究研究,谢谢 写道cookie里面去。购物车的东西不是最重要的,可户可没有决定一定要卖,所以可以考虑写到cookie去. 那有些人要是把cookie关闭掉呢?不过经过你这么一提醒用数据库的方法好像确实不太明智了,好比我自己也很少最后决定买东西的,最好尽是在写入删除数据库了! 写在session里就行了。没必要存在数据库里面。session.setAttribute("items",items); 关于数据库的中文问题,你用的是什么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); ..... %> 楼上的,十分感谢您的代码,但是我分数刚好结帐接掉了,第一次来也不知道太多的关于分数,哈哈,你就将就点,下次再给你吧,首先,你的程序有点问题,好像一点要有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); ..... %>不知道在您服务器上有没有这个问题! 我也是resin+sql2000,不需要编码转换了,去掉编码转换的语句!!另外加try的话,catch部分可以这样写:catch(Exception e) { return str}我原来用tomcat,那必须用编码转换,后来我改用resin,结果反而要出错了,所以在resin下必须把编码转换的语句去掉!!我的运行环境是resin2.1.12+sql2000+win2000pro Subclipse分支合并丢失文件问题请教 memcache的key过期后,我在set一个相同的key,却得不到值 FCKeditor 如何实现二次编辑内容?在线等... ... 高手进来改程序~ 大家都用什么软件编jsp啊? ejb事务问题? 用户游览时在页面上启动了一个Timer,如何在用户关闭游览器时停止此Timer? 100分寻求jsp和mysql连接的具体步骤 用jspsmartupload怎么上传一个带有图片的网页? JSP实现仿(抄)GitHub代码托管平台 提示错误,怎么解决? 怎样配置tomcat使得我输入一个不存在的页面地址时显示本页面不存在
你说的filter servlet应该是解决编码问题的吧,对这个类我从来没有接触过,刚才查了一下也只明白了一成,继续学习中,如果代码只有2,3句的话麻烦老兄给一下吧,研究研究,谢谢
session.setAttribute("items",items);
获取表单汉字你可以写一个方法在声明部分:
<%! 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);
.....
%>
<%! 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);
.....
%>
不知道在您服务器上有没有这个问题!
另外加try的话,catch部分可以这样写:
catch(Exception e)
{ return str}
我原来用tomcat,那必须用编码转换,后来我改用resin,结果反而要出错了,所以在resin下必须把编码转换的语句去掉!!我的运行环境是resin2.1.12+sql2000+win2000pro