各位大侠,我做了两个页面,一个HTML页面只有一个表单,当我输入一个字符串时(假设是“asd”),然后单击提交按钮跳转到另一个JSP处理页面,该页面判断如果输入的字符是“asd”,那么就在该页面中输出“登陆成功”,请问下面的代码为什么不能实现
<%! 
String s1,s2;
    int a1;
%>
<%
s1=request.getParameter("t1");
s2=request.getParameter("t2");
a1=12;
out.print(s1);
%>
<%
    if(s1=="asd")
{
     out.print(s1);
 out.print("成功");
}
%>

解决方案 »

  1.   

    if(s1=="asd")应该改成
    if(s1.equals("asd"))
      

  2.   

    1楼正解。"=="运算符    对于基本数据类型,比较的是值是否相等,例如:        int i=98;
            int j=99;
            int k=98;
            i==j;     //结果为false
            i==k;     //结果为true;
        对于引用类型        Integer num1=new Integer(100);
            Integer num2=new Integer(100);
            Integer num3=num1;
            num1==num2;   //结果为false;虽然值都为100,但他们引用了不同的对象
            num1==num3;   //结果为true    
      

  3.   

    if(s1=="asd")应该改成以下两种
    if(s1.equals("asd"))
    if("asd".equals(s1))
      

  4.   

    我刚开始学java那会也老犯这样的错,呵呵