用servlet验证用户注册问题

guanlizhec 2006-09-13 06:39:48
1、当用户名为空时,我在servlet中用out.print("用户名不能为空!");可是客户端显示的是乱码(全是问号),用英文则正常,我的网站已用了编码过滤,而且其他的都正常,只有这里有问题,怎么回事呢?
2、当我验证密码时,用if(password.equals("")){out.print("密码不能为空");}可是这句好像没生效,密码为空时,还是通过了注册,而检验用户名时,if(username.equals("")){out.print("用户名不能为空")则正常;怎么回事呢?
...全文
240 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanlizhed 2006-09-13
  • 打赏
  • 举报
回复
lip009(深蓝忧郁) ( )
==================
我的网站已用了过滤,跳转到其他页面时正常显示中文
只是在servlet中用out.print("用户名不能为空!");时客户端显示的是乱码(全是问号)
可是用了response.setContentType("text/html; charset=GBK");之后,连跳转后的页面也全成问号了,怎么回事呢?
lip009 2006-09-13
  • 打赏
  • 举报
回复
servlet指定编码:
response.setContentType("text/html; charset=GBK");
Anser 2006-09-13
  • 打赏
  • 举报
回复
你试试可以吗?
guanlizhed 2006-09-13
  • 打赏
  • 举报
回复
terry_yip(搞了几年开发,现在才来恶补基础,请别见笑!)
=========
谢谢您!!
jsp的编码我知道,可是好像没注意过servlet的编码在哪里设置,
请您指点下,我在那里看我的servlet的编码呢?
我没使用ide,是用记事本写得程序。
Anser 2006-09-13
  • 打赏
  • 举报
回复
if(password==null){out.print("密码不能为空");}
terry_yip 2006-09-13
  • 打赏
  • 举报
回复
1 两个可能,有可能你用的IDE,在自动生成servlet时,把servetl的charset编码指定错了,又或者是Servlet文件按了UTF-8的格式保存。

2 用password.trim().equals("")试试

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧