jsp中的.equals()函数问题

packagecom.course;importjava.io.*;importjava.sql.*;importjavax.servlet.*;importjavax.... package com.course;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class login_confirm extends HttpServlet{

//响应Post请求
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

String message=null;
String id=null;
//接收用户的登录名
id=req.getParameter("id");
//创建session对象
HttpSession session=req.getSession(true);
//将用户登录名存入session中
session.setAttribute("id",String.valueOf(id));
String password=null;
//接收用户登录的密码
password= req.getParameter("password");

String kind =null;
//接收用户级别
kind=req.getParameter("kind");
//调用getPassword方法,获取数据库中查询出来的密码
String temp =getPassword(req,res,id,kind);
//对比查询出的密码和用户输入的密码是否匹配
if(password.equals(temp))
//密码输入正确,调用goo方法
goo(req,res,kind);
else {
//密码输入错误
message="用户名或密码有误!";
doError(req,res,message) ;
}
}
//根据用户的级别,分别转向不同的页面
……
//根据用户的级别和输入的用户名,查询对应的密码
public String getPassword(HttpServletRequest req, HttpServletResponse res,
String id,String kind)
throws ServletException, IOException {
//声明数据库连接类sqlBean的实例
sqlBean db= new sqlBean();
String pw="";
String sql="select password from "+kind+" where id='"+id+"'";
try{
//进行数据库查询操作
ResultSet rs=db.executeQuery(sql);
if(rs.next() ){
pw= rs.getString("password");
}
}
catch(Exception e)
{ System.out.print(e.toString());}
return pw;
}

//处理错误页面
public void doError(HttpServletRequest req,
HttpServletResponse res,
String str)
throws ServletException, IOException {

req.setAttribute("problem", str);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/errorpage.jsp");
rd.forward(req, res);
}
……
}

我想问题应该出在.equals()语句上,因为若把报错语句改成
message=password+","+temp+"用户名或密码有误!";
在屏幕上显示的password和temp相同,可是却总执行doerror页面!
时间紧急,请高手们给点提示!
展开
 我来答
隆姣集依楠
2020-04-09 · TA获得超过3721个赞
知道大有可为答主
回答量:3106
采纳率:28%
帮助的人:212万
展开全部
com.finace.bean.coin.newuser.user(newuser.java:22)
22行没有得到你想要得到的值,为null了。所以报空指针异常。你打印以下就知道了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gisfresher
2008-06-19 · TA获得超过174个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:0
展开全部
改这句if(password.equals(temp)) 试试
if(password.trim().equals(temp.trim()))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式