我在Java方面不太好。我正在做一个应用程序,我想验证在文本框中输入为密码的值,并将存储在数据库中的密码值用于验证。如果两个值都不匹配,我想显示一条错误消息。我正在创建我将要使用的 Java 代码的 Web 服务。return 0
、return 1
、return (value)
有什么区别?我该怎么做?有人可以给我一个示例代码示例吗?我已经在一个单独的类中创建了连接,并为它创建了一个名为 - dbsource 的对象。
package com.daoImpl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.dto.LoginBean;
public class ApplicationStatusDAO {
DBSource dbsouce = new DBSource();
public List<LoginBean> userLogin()
{
List<LoginBean> listloginBean=new ArrayList<LoginBean>();
LoginBean loginbean=null;
Statement stmt= null;
try {
String query = "select * from user_self";
try {
stmt = dbsouce.getConnection().createStatement();
ResultSet rs = stmt.executeQuery(query);
while(rs.next()) {
loginbean=new LoginBean();
System.out.println("results: " + rs.getString("uname")+" "+ rs.getString("s_gender")+" "+ rs.getString("s_lname"));
loginbean.setUname(rs.getString("uname"));
loginbean.setPass(rs.getString("pass"));
loginbean.setGender(rs.getString("s_gender"));
loginbean.setLname(rs.getString("s_lname"));
listloginBean.add(loginbean);
}
System.out.println("size of list"+ listloginBean.size());
} catch (SQLException e ) {
System.out.println("result set Error: " + e);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return listloginBean;
}
第二类使用:
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import com.daoImpl.ApplicationStatusDAO;
import com.dto.LoginBean;
@Path("/selfservice")
public class ServiceDispatcher {
@GET
@Produces("application/json")
@Path("login/")
public LoginBean loginAuth(@QueryParam("uname") String uname,@QueryParam("pass") String pass)
{
LoginBean loginBean=new LoginBean();
System.out.println("loginAuth- user name=" + uname + " password=" + pass);
ApplicationStatusDAO applicationStatusDAO=new ApplicationStatusDAO();
List<LoginBean> bean =applicationStatusDAO.userLogin();
for(LoginBean aa:bean)
{
if(uname.equals(aa.getUname())&& pass.equals(aa.getPass()))
{
System.out.println("ssssssssssssssssssssssss");
loginBean.setGender(aa.getGender());
loginBean.setUname(aa.getUname());
loginBean.setLname(aa.getLname());
return loginBean;
}
else
{
System.out.println("ffffffffffffffffffffffffff");
//LoginBean loginBean1=new LoginBean();
//loginBean1.setFname("user name not ok");
//return loginBean1;
}
}
return loginBean;
}
从用户那里获取密码并将其存储在字符串对象中。
String pass = "yourpassword"; // or get it from System using Scanner
String username = "username";
现在创建一个函数,您将在其中从表中获取数据
public int present(){
// make query for Oracle data base
String yourQry = "select * from yourtable where password = '"+pass+"' and username='"+username+"'" .
//Use this query when you are fetching data from user.
Resultset rs;// fetch your data in resultset
if(rs.next()){
// if data got fetched
return 1;// In other languages(C,C++) 0 and 1 are treated as true or false
// 1 means true
}
else{
return 0; // 0 means false (No datafound)
}
}
现在从main()
调用此函数
int a = present();
if (a==0){
System.out.print("data not found")
}
else{
System.out.print("data found")
}
-
方法返回的内容实际上取决于它的作用。与 C 不同,您有一个基元
boolean
类型,因此如果要返回方法的成功/失败,则应分别返回true
/false
。但是,您可能还需要一个void
方法,该方法引发一些Exception
而不是返回值。 -
从数据库中获取密码的值,并使用
equals()
方法将其与输入字符串进行比较。