java,编写一个用户身份验证程序,用户名及密码从键盘输入

编写一个用户登陆程序,有Login.jsp输入用户名、密码~

public org.apache.struts.action.ActionForward perform(org.apache.struts.action.ActionMapping actionMapping, org.apache.struts.action.ActionForm actionForm, javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse)
{
org.apache.struts.action.ActionErrors errors = new ActionErrors();
com.cargo.crotrol.AdminForm adminForm = (com.cargo.crotrol.AdminForm)actionForm;
com.cargo.model.Admin admin = adminForm.getAdmin();
java.lang.String id = getServlet().getServletConfig().getInitParameter("id");
java.lang.String password = getServlet().getServletConfig().getInitParameter("password");
if (!admin.getId().equals(id.trim()) || !admin.getPassword().equals(password.trim()))
{
errors.add("org.apache.struts.action.GLOBAL_ERROR", new ActionError("error.logon.fail"));
saveErrors(httpServletRequest, errors);
}
if (!errors.empty())
{
return new ActionForward(actionMapping.getInput());
} else
{
javax.servlet.http.HttpSession session = httpServletRequest.getSession();
session.setAttribute("id", admin.getId());
return actionMapping.findForward("success");
}
}
可以参考一下这个 这个是在struts 里写的

页面:






后台:
为了让你自己思考一下,所以只给出伪代码,很简单的。接收页面上提交的两个值分别赋给两个变量,由于你已经规定了用户名和密码,所以不用连接数据库,很简单的。你直接if判断,如果接收到的username等于wonder并且pwd等于wenda的时候你就response.sendRedirect(); 跳转到登录成功的页面。然后else{跳转到login.jsp页面就行了};

有不懂的,可以追问,不过以后不要当伸手党了。

你的程序有一点小问题,m的值没改变,我给你改了一下,你看看吧。
import java.util.*;
class User{
private String userName,password;
User(){
System.out.println("输入用户名:");
Scanner reader=new Scanner(System.in);
userName=reader.nextLine();
System.out.println("输入密码:");
Scanner reader1=new Scanner(System.in);
password=reader1.next();

}
void check(){
int m=0;
int n=0;
if(userName.equals("")==true || userName==null)
m=0;
else
m=userName.length();

if(password.equals("12345678")==true)
n=1;
if(m!=0 && n==1){
System.out.println("用户名有效");
}else{
System.out.println("用户名无效");
}
}

}
public class Users {
public static void main(String[] args){
User user=new User();
user.check();
}
}

int m=0;
int n=0;

if(userName.equals("")==true)
m=0;
你这里错了 m你赋初值为0;然后账户为空的话,m还赋值为0,所以你m永远都是0,而你下面又用m来判断,所以啊,你的m!=0 永远是false,只会输出用户名无效
你应该加一句,改成这样:
int m=0;
int n=0;

if(userName.equals("")==true)
m=0;
else m=1;

(userName.equals("")==true 这个地方错了
你用引用号这样的话就等于有字符了不算空值
这部分不用equals 向下面这样改
userName!=null /用户名不等于空

用JAVA编写一个对18位身份证的输入验证程序.要求输入的18位数字或最后...
答:验证身份证号码 param id_number return / public static Boolean checkNID(String id_number){ Boolean isRight = false;if(id_number.length() != 15 && id_number.length() != 18){ return false;} String string = id_number.substring(0, id_number.length() - 1);if(!string.matches...

java编程,关于身份证验证问题。求大神指点
答:import java.util.*;public class test{public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("请输入18位的身份号码:");String s="^[0-9]{17}([0-9]|x)";//正则表达式String str=in.next();while(!str.matches(s)){//用mathes方法匹配...

求解用java语言 编写一个身份证的类,可以用来验证身份证的长度,并可...
答:public static void main(String[] args){ Scanner input = new Scanner(System.in);System.out.println("请输入十八位身份证号码!");String id=input.next();if(id.length()!=18){ System.out.println("身份证号码长度不对!");} String top=id.substring(0, 17);String sishu="7,9,1...

java身份证号位数校验
答:function checkIdcard(num){ num = num.toUpperCase();//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))){ //alert('输入的身份证号长度不对,或者号码不符合规定!...

java字符串操作,验证输入的身份证合法与否
答:要求:如果输入的身份证不是18位,或者格式不正确(包含非数字字符,除了最后一位的X除外)则返回一个字符串“您输入的身份证号码有误”/ import java.util.Scanner;public class JudgeID { public static void main(String[] args){ Scanner reader = new Scanner(System.in);System.out.println("...

java怎么验证身份证合法,
答:身份证 : @"\d{18}|\d{15}"整数 : @"^\d{1,}$"数值 : @"^-?(0|\d+)(\.\d+)?$"日期 : @"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29)...

在JAVA中如何实现身份登录验证?
答:通过数据库验证!或者单账户验证!最好是数据库……这是我编写的一个程序!你自己参考下!if(arg0.getSource()==blogin){ try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");} catch (ClassNotFoundException e) { // TODO 自动生成 catch 块 e.printStackTrace();} try {...

java,编写一个用户身份验证程序,用户名及密码从键盘输入
答:你的程序有一点小问题,m的值没改变,我给你改了一下,你看看吧。import java.util.*;class User{ private String userName,password;User(){ System.out.println("输入用户名:");Scanner reader=new Scanner(System.in);userName=reader.nextLine();System.out.println("输入密码:");Scanner ...

java验证一个用户名是否存在
答:} } return flag;} / param args / public static void main(String[] args) { Scanner scan = new Scanner(System.in);String name=scan.next();if(Check(name)){ System.out.println("用户存在");} else { System.out.println("不存在此用户");} } } 验证过的,看看希望有用!

在java后台,用正则表达式验证身份证
答:private String checkPattern(String str){ String len;String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";Pattern p = Pattern.compile(regEx);Matcher m = p.matcher(str);len=m.replaceAll(""...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网