Ваша логика кода странная. Скриплеты также не упрощают тестирование. Вот SSCCE во вкусе настоящего Java-класса, чтобы начать и облегчить тестирование:
public class Test {
public static void main(String[] args) throws Exception {
String user = "WeBeNg"; // Change this as if it is user input.
String pass = "2009"; // Change this as if it is user input.
String expectedUser = "webeng";
String expectedPass = "2009";
if (user == null || pass == null || user.isEmpty() || pass.isEmpty()) {
System.out.println("Please enter both username and password.");
} else if (user.equalsIgnoreCase(expectedUser) && pass.equals(expectedPass)) {
System.out.println("Welcome " + user);
} else {
System.out.println("Unknown login.");
}
}
}
Надеюсь, это поможет.
Редактировать # 1 : пожалуйста, не размещайте скриншоты. Скопируйте исключение и отслеживание стека в блоках кода. Кстати, исключение не из Eclipse. Это от Tomcat. Кроме того, рассматриваемое исключение (NullPointerException) довольно понятно. Вы получили доступ к объектной ссылке, которая на самом деле является нулевой.
SomeObject someObject = null;
someObject.doSomething(); // Fails with NPE.
someObject = new SomeObject();
someObject.doSomething(); // Succes.
Сначала необходимо выполнить нулевую проверку, например,
if (someObject != null) {
someObject.doSomething(); // Succes.
}
Редактировать # 2 Я также рекомендую вам узнать об операторах, приоритетах операторов и группировке выражений в Java. Видите, следующее не "логично"
if (name !=null | pass!=null && name.equals("") | pass.equals(""))
Вот хорошее учебное пособие для начала, чтобы узнать об этом: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html Удачи.