身份验证时,我们常常要返回一个User对象,然而又要知道到底是什么地方错误。我们可以用Exception进行控制!下面是我写的一个例子,你可以加上数据库连接! $ j- N7 j3 M% V( A$ J2 d: x; A
public class Login{
+ T. x& _' z5 ` public User validate(String userName,String password) throws InvalidNameException,WrongPasswordException{ 1 P h# r/ e2 m3 {/ c9 x+ f L7 y
if(userName.equals("java")){ 3 N) F, F5 E- ]" I5 V: i% u8 y
if(password.equals("java")){
% W9 B6 U9 B9 E return new User(userName); S7 Y0 D3 j, B# i# Y1 a
}else{
. q6 a. X- D: ?0 c; U throw new WrongPasswordException();
; P. H+ {" ?# w$ z n }
# w1 ^8 O! K( g% k9 x: L. k" C }else{ 4 a, b2 W2 c" }3 [$ a! k1 z
throw new InvalidNameException(); 3 [; f! j8 O( Q* E9 Q# i4 n
}
0 l3 g: p) Z* m% Z' o* m* F3 t //return null;
Z6 t. W5 A" m# J( p3 L% S ] }
/ Y& ^" o1 c, S
/ F& I' ? U1 v9 t' A% z# J public static void main(String[] args){
0 I4 M- Q3 a, g- [2 z Login l=new Login(); , M+ `% l" Q; S/ n9 B
User user=null;
6 @$ _6 ^' r* Z: U6 @8 O& r try{ 4 b% `% c0 I- K! y }, n
user=l.validate("javac","java");
; J8 ]; L4 r6 z: E& ^7 y, O }catch(InvalidNameException invalidName){
- L C% H- E$ W6 L8 q1 u4 L% x: y System.out.println("The username is invalid!");
) q+ s3 V! s6 Q; u/ l }catch(WrongPasswordException wrongPassword){
% u' q# p/ }6 S) k% m System.out.println("The password is wrong"); " A1 A; K; `1 V, U
} $ m; A; p3 Q5 z: v7 ]5 {& r
if(!(user==null)){
8 e- e9 r) z- U: a System.out.println(user.getUserName()); $ K& K \ ^" e
}
" R, H: V' s8 Y5 @& r }
! T @; l, Z b0 p, D}
: z6 {' L( [, V- A2 jclass User{
% o0 ~# `. T0 q8 [ private String userName;
8 p6 G- J7 t' [ public User(String userName){ ^1 S3 Z: j5 G) W
this.userName=userName; / @6 z9 a8 H1 F9 `3 R5 ?: q+ w
} ' I1 a/ t; r2 d* P
public void setUserName(String userName){ 2 ~) Y2 ]: [; N5 L/ B h' T
this.userName=userName;
' q, Z8 E5 g5 H. ? }
- T- a8 I( l U8 \- U5 h. Q public String getUserName(){ . j/ r- q% Y3 E7 s$ A
return userName;
& x# }! p1 Z8 V }
+ f, X' e! u$ y! l$ `}
4 w! R2 P) q# S; pclass InvalidNameException extends Exception{
4 O8 X$ x6 |9 d3 y6 t public InvalidNameException(){
- ]( b) u9 I p; ^' f, x7 } }
8 d0 a3 h$ z% e t/ g- I6 J}
5 A7 R/ {# q+ [class WrongPasswordException extends Exception{
0 i0 k2 h! Y: x& y4 F; n" W public WrongPasswordException(){
1 u) n- W% @9 C( K& G } - e& A/ y1 B* ~& X9 f$ B* i k
} |