JSP中if语句只执行一种情况

kadrqz88 2016-10-12 11:15:16
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body bgcolor=pink style="font-family:arial;color:blue;font-size:20px;" >

<P align="center">请核对一下信息是否正确,正确的请按确认,需要修改的请按返回
<%
request.setCharacterEncoding("utf-8");
String yourName=request.getParameter("name");
String yourNumber=request.getParameter("num");

if(yourNumber!="888888"||yourNumber!="000000"){out.print("<script>alert('密码不正确');window.location.href('login.jsp');</script>");}//就是这里,无论输入什么密码(包括888888和000000)都只出现这个提示框,后面的都不执行,这是怎么回事?
else
if(yourNumber=="888888")//其实这里好像也有些问题,就算把前面那个IF去掉,输入888888后,无法出现其他信息,例如姓名,性别等,这又是怎么回事?
{String yourSex=request.getParameter("R");
String yourIdentify="老师";
String yourBirthyear=request.getParameter("year");
String yourBirthmonth=request.getParameter("month");
String competitionName[]=request.getParameterValues("com");
session.setAttribute("Uname",yourName);
session.setAttribute("ID",yourIdentify);
session.setAttribute("Name",competitionName);

out.println("<P> 您的姓名:"+yourName+"</P>");
out.println("<P> 您的性别:"+yourSex+"</P>");

out.println("<P> 您的出生年份:"+yourBirthyear+"</P>");
out.println("<P> 您的出生月份:"+yourBirthmonth+"</P>");
out.println("<P> 您所报名的竞赛项目为:");
if(competitionName==null){
out.print("一个都不参加");
}
else{for(int k=0;k<competitionName.length;k++){
out.println(""+competitionName[k]);}
}
}
else
if(yourNumber=="000000")
{String yourSex=request.getParameter("R");
String yourIdentify="学生";
String yourBirthyear=request.getParameter("year");
String yourBirthmonth=request.getParameter("month");
String competitionName[]=request.getParameterValues("com");
session.setAttribute("Uname",yourName);
session.setAttribute("ID",yourIdentify);
session.setAttribute("Name",competitionName);

out.println("<P> 您的姓名:"+yourName+"</P>");
out.println("<P> 您的性别:"+yourSex+"</P>");

out.println("<P> 您的出生年份:"+yourBirthyear+"</P>");
out.println("<P> 您的出生月份:"+yourBirthmonth+"</P>");
out.println("<P> 您所报名的竞赛项目为:");
if(competitionName==null){
out.print("一个都不参加");
}
else{for(int k=0;k<competitionName.length;k++){
out.println(""+competitionName[k]);}
}
}

%>

<p><a href="main.jsp">确认</a>
<p><a href="login.jsp">返回</a>







</body>
</html>
求大神解答!
...全文
458 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
QiuRiMangCao 2016-10-15
  • 打赏
  • 举报
回复
引用 7 楼 蜗牛-的回复:
[quote=引用 4 楼 qq_26334813 的回复:] [quote=引用 1 楼 a3226988的回复:]equals
大神,那为什么用==不能比较数据是否相等,是因为88888和输入的数据指向不同的内存空间吗[/quote] 对的 直接 == 比较的是内存地址,用equals 比较的是字符串内容[/quote] 谢谢大神的解答
姜小白- 2016-10-14
  • 打赏
  • 举报
回复
引用 4 楼 qq_26334813 的回复:
[quote=引用 1 楼 a3226988的回复:]equals
大神,那为什么用==不能比较数据是否相等,是因为88888和输入的数据指向不同的内存空间吗[/quote] 对的 直接 == 比较的是内存地址,用equals 比较的是字符串内容
编程周记 2016-10-14
  • 打赏
  • 举报
回复
大兄弟,java里面用equals, js里面才用 = 你这个是在<%%>代码块里面的,必须要用equals大兄弟,回答完毕,么么哒
z1246879396 2016-10-14
  • 打赏
  • 举报
回复
字符串是不能用等于号的。因为对象都不是一个。只有基本类型才可以用等于号
QiuRiMangCao 2016-10-13
  • 打赏
  • 举报
回复
引用 1 楼 a3226988的回复:
equals
大神,那为什么用==不能比较数据是否相等,是因为88888和输入的数据指向不同的内存空间吗
要有留白 2016-10-13
  • 打赏
  • 举报
回复
我是来学习的 String 类型的比较使用equals,这是常识
kadrqz88 2016-10-13
  • 打赏
  • 举报
回复
引用 1 楼 a3226988 的回复:
equals
改了一下,可以啦!谢谢大神!
a3226988 2016-10-13
  • 打赏
  • 举报
回复
equals

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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