java - Cannot validate login -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 23 उत्तर
मैं एक प्रोग्राम लिख रहा हूँ लॉग-इन मान्य करें जो काम नहीं कर सकता कोई त्रुटि नहीं होने पर यह ग़लत लॉग-इन के लिए टोस्ट पाठ उत्पन्न नहीं करता है मैं मानता हूं कि यह शर्त स्थिति पर गलत हो जाता है। अगर लॉग-इन गलत है, तो यह लॉग में प्रदर्शित होने वाले एक 'नल' को प्रतिक्रिया देगा।
लेकिन मुझे नहीं पता कि गलती कहां है, क्या कोई मदद कर सकता है?
एचटीटीपी क्लाइंट क्लाइंट = नया DefaultHttpClient (); {ArrayList & lt; NameValuePair & gt; कोशिश करें पैरामीटर = नया अर्रेलिस्ट & lt; NameValuePair & gt; (); Parameters.add (नया BasicNameValuePair ("लॉगिन", लॉगिन टेक्स्ट)); Parameters.add (नया बेसिकनामवैलपेयर ("पासवर्ड", pwText)); स्ट्रिंग यूआरएल = कंट्रोलर.बीनीआरूटयूआरएल + कंट्रोलर.फ़ोल्डर यूज़र + कंट्रोलर.फाइललोगिन + "?"; Url + = URLEncodedUtils.format (मानदंड, "यूटीएफ -8"); एचटीटीपीगेट प्राप्त = नया एचटीटीपीएजिट (यूआरएल); एचटीपीआरस्पॉन्स प्रतिक्रिया = क्लाइंट। एक्सकुट (प्राप्त करें); LoginResponse = EntityUtils.toString (response.getEntity ()); } पकड़ (असमर्थित एन्कोडिंग अपवाद ई) {e.printStackTrace (); } कैच (क्लाइंटप्रोटोकल एक्स्प्शन ई) {// टोडो ऑटो-जेनरेट कैच ब्लॉक e.printStackTrace (); } पकड़ (IOException ई) {// TODO ऑटो-जेनरेट कैच ब्लॉक e.printStackTrace (); } लॉग डी। (टैग, "प्रतिक्रिया:" + लॉगिनप्रदर्शन); अगर (loginResponse == नल || loginResponse == "null" || loginResponse.isEmpty ()) {टोस्ट। मेक टेक्स्ट (लॉगिन। इस, "अमान्य लॉगिन", टोस्ट। एलएनएनजीएचआईएचओआरटी)। दिखाएं (); }
शायद, loginResponse एक स्ट्रिंग चर है। इसलिए, यह सही तरीका नहीं है समानता के लिए दो तार की तुलना करें इसलिए, इस स्थिति को रन-टाइम में सत्यापित नहीं किया जा रहा है। ।
हम दूसरी स्ट्रिंग के साथ पहली स्ट्रिंग की तुलना करने के लिए
सार्वजनिक बूलियन बराबर (स्ट्रिंग सेकंडस्ट्रिंग) विधि का उपयोग करते हैं। If-statement को
को बदलने की कोशिश करें अगर (loginResponse.equals (नल) || loginResponse.equals ("null") || loginResponse.isEmpty ()) {...}
Comments
Post a Comment