I have started learning JSF recently I'm working on a JSF page along with a managed bean. now I'm trying to attach ajax functionality to my code but I'm facing a problem of null pointer exception.
This is my index.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core">
<h:head>
  <title>Student Registration Form</title>
</h:head>
<h:body>
    
    <h3>Please enter user name and password</h3>
    
    <h:form prependId="false">
        Username: <h:inputText id="username" value="#{student.username}" />
        
        <br></br>
        <br></br>
        
        Password: <h:inputSecret id="password" value="#{student.password}" />
        
        <br></br>
        <br></br>
        
        <h:commandButton value="Login">
            <f:ajax execute="username password" render="out" />
        </h:commandButton>
        
        <h:outputText id="out" value="#{student.greeting}"/>
        
        
    </h:form>
</h:body>
</html>
This is the Java code for the bean class
package com.ahmed.jsf.Studen_Registration;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class Student {
    
    private String username, Password;
    
    public Student() {}
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return Password;
    }
    public void setPassword(String username) {
        this.Password = username;
    }
    public String getGreeting() {
        if(username.length() == 0) return "";
        else return "Welcome to JSF 2.0 + AJAX" + username + "!";
    }
}
everything was working before adding the getGreeting function and the stacktrace states that the NullPointerException is coming from the getGreeting function
 
     
    