关于servlet,晕了。。

java_age 2012-05-21 11:46:57

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
if(null == name || null == password || name.trim().equals("") || password.equals(""))
{
request.setAttribute("message", "请输入用户名和密码");
request.getRequestDispatcher("/index.jsp").forward(request, response);
}

if(name.equals(password))
{
request.setAttribute("name", name);
request.getRequestDispatcher("/welcome.jsp").forward(request, response);

}else
{
request.setAttribute("message", "请输入正确的用户名和密码");
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
}



刚进新公司,写了个servlet的想练练手,结果报错了

以上代码,我理解的是如果进到第一个if后,用request请求转发,代码应该就不会往下走了。。

结果是代码还是继续了,最后报错。。不理解了。

求解答。
...全文
118 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
职业宅男 2012-05-21
  • 打赏
  • 举报
回复
1楼的表达式是永远不会成立的!name==null 就不会等于""了,如果等于""就不会是null
职业宅男 2012-05-21
  • 打赏
  • 举报
回复
转发了方法其实并没有结束,如果想结束方法还得在后面加return关键字。
hfmbook 2012-05-21
  • 打赏
  • 举报
回复
1楼 已经指出你的错误!结贴吧!!
暖暖猫 2012-05-21
  • 打赏
  • 举报
回复
name.trim().equals("") 还有,这个去掉空格是为了什么?
暖暖猫 2012-05-21
  • 打赏
  • 举报
回复

if(null == name && name.trim().equals("") )
{
request.setAttribute("message", "请输入用户名和密码");
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
if(null == password && password.equals("")){

}



感觉用户名和密码最好分开写,写到一起逻辑会出现问题
java_age 2012-05-21
  • 打赏
  • 举报
回复
明白了,自己迷糊了,哎。。
NoTargetException 2012-05-21
  • 打赏
  • 举报
回复
楼上说的没错,转发之后最后加return; 这是具有良好代码风格。

1楼的表达式是成立的。 只要name不等于null 并且 不为""的时候就成立了啊!

81,092

社区成员

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

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