Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8569749
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T18:24:32+00:00 2026-06-11T18:24:32+00:00

I have a form with a user name field on it when i tab

  • 0

I have a form with a user name field on it when i tab out of the field i use a RESTFUL Web Service that makes a call to a handler method in the controller. The method makes a call to a DAO class that checks the database if the user name exists.

This works fine, however when the form is posted to the server i call the same exact function i would call in the handler method however i get a java.lang.NullPointerException when it accesses the class that makes a call to the DAO object. So it does not even access the DAO object the second time.

I have exception handlers around the calls in all my classes that makes calls. Any ideas as to whats happening here why i would get the java.lang.NullPointerException the second time the function is called.Does this have anything to do with Spring instantiating DAO classes using a Singleton method or something to that effect? What can be done to resolve this?

This is what happens the First Time The Method is called using the Web Service(this is suppose to happen):

13011 [http-8084-2] INFO  com.crimetrack.jdbc.JdbcOfficersDAO  - Inside jdbcOfficersDAO
13031 [http-8084-2] DEBUG org.springframework.jdbc.core.JdbcTemplate  - Executing prepared SQL query
13034 [http-8084-2] DEBUG org.springframework.jdbc.core.JdbcTemplate  - Executing prepared SQL statement [SELECT userName FROM crimetrack.tblofficers WHERE userName = ?]
13071 [http-8084-2] DEBUG org.springframework.jdbc.datasource.DataSourceUtils  - Fetching JDBC Connection from DataSource
13496 [http-8084-2] DEBUG org.springframework.jdbc.core.StatementCreatorUtils  - Setting SQL statement parameter value: column index 1, parameter value [adminz], value class [java.lang.String], SQL type unknown
13534 [http-8084-2] DEBUG org.springframework.jdbc.datasource.DataSourceUtils  - Returning JDBC Connection to DataSource
13537 [http-8084-2] INFO  com.crimetrack.jdbc.JdbcOfficersDAO  - No username was found in exception
13537 [http-8084-2] INFO  com.crimetrack.service.ValidateUserNameManager  - UserName :adminz does NOT exist

The Second time When The Form Is ‘Post’ and a validation method handles the form and calls the same method the web service would call:

17199 [http-8084-2] INFO  com.crimetrack.service.OfficerRegistrationValidation  - UserName is not null so going to check if its valid for :adminz
17199 [http-8084-2] INFO  com.crimetrack.service.OfficerRegistrationValidation  - User Name in try.....catch block is adminz
17199 [http-8084-2] INFO  com.crimetrack.service.ValidateUserNameManager  - Inside Do UserNameExist about to validate with username : adminz
17199 [http-8084-2] INFO  com.crimetrack.service.ValidateUserNameManager  - UserName :adminz EXCEPTION OCCURED java.lang.NullPointerException

ValidateUserNameManager.java

public class ValidateUserNameManager implements ValidateUserNameIFace {

    private OfficersDAO officerDao;

    private final Logger logger = Logger.getLogger(getClass());


    public boolean DoesUserNameExist(String userName) throws Exception {

        logger.info("Inside Do UserNameExist about to validate with username : " + userName);

        try{

            if(officerDao.OfficerExist(userName) == true){

                logger.info("UserName :" + userName + " does exist");
                return true;

            }else{
                logger.info("UserName :" + userName + " does NOT exist");
                return false;
            }


        }catch(Exception e){

            logger.info("UserName :" + userName + " EXCEPTION OCCURED " + e.toString());
            return false;
        }       

    }

    /**
     * @return the officerDao
     */
    public OfficersDAO getOfficerDao() {
        return officerDao;
    }

    /**
     * @param officerdao the officerDao to set
     */
    public void setOfficerDao(OfficersDAO officerDao) {
        this.officerDao = officerDao;
    }



}

JdbcOfficersDAO.java

public boolean OfficerExist(String userName){

    String dbUserName;

    try{

        logger.info("Inside jdbcOfficersDAO");


        String sql = "SELECT userName FROM crimetrack.tblofficers WHERE userName = ?";

        try{
            dbUserName = (String)getJdbcTemplate().queryForObject(sql, new Object[]{userName},String.class);
            logger.info("Just Returned from database");

        }catch(Exception e){
            logger.info("No username was found in exception");
            return false;
        }

        if(dbUserName == null){

            logger.info("Database did not find any matching records");
        }

        logger.info("after JdbcTemplate");

        if (dbUserName.equals(userName)) {

            logger.info("User Name Exists");
            return true;

        }else{
            logger.info("User Name Does NOT Exists");
            return false;
        }       

    }catch(Exception e){

        logger.info("Exception Message in JdbcOfficersDAO is "+e.getMessage());
        return false;
    }
}

OfficerRegistrationValidation.java

public class OfficerRegistrationValidation implements Validator{

    private final Logger logger = Logger.getLogger(getClass());

    private ValidateUserNameManager validateUserNameManager;


    public boolean supports(Class<?> clazz) {

        return Officers.class.equals(clazz);
    }


    public void validate(Object target, Errors errors) {

        Officers officer = (Officers) target;

        if (officer.getUserName() == null){

            errors.rejectValue("userName", "userName.required");

        }else{

            String userName = officer.getUserName();                    

            logger.info("UserName is not null so going to check if its valid for :" + userName);
            try {

                logger.info("User Name in try.....catch block is " + userName);

                if (validateUserNameManager.DoesUserNameExist(userName)== true){

                    errors.rejectValue("userName", "userName.exist");
                }
            } catch (Exception e) {
                logger.info("Error Occured When validating UserName");
                errors.rejectValue("userName", "userName.error");
            }

        }

        if(officer.getPassword()== null){
            errors.rejectValue("password", "password.required");
        }

        if(officer.getPassword2()== null){
            errors.rejectValue("password2", "password2.required");
        }


        if(officer.getfName() == null){
            errors.rejectValue("fName","fName.required");
        }

        if(officer.getlName() == null){

            errors.rejectValue("lName", "lName.required");
        }

        if (officer.getoName() == null){
            errors.rejectValue("oName", "oName.required");
        }

        if (officer.getEmailAdd() == null){
            errors.rejectValue("emailAdd", "emailAdd.required");
        }

        if (officer.getDob() == null){
            errors.rejectValue("dob", "dob.required");
        }

        if (officer.getGenderId().equals("A")){
            errors.rejectValue("genderId","genderId.required");
        }


        if(officer.getDivisionNo() == 1){

            errors.rejectValue("divisionNo", "divisionNo.required");
        }

        if(officer.getPositionId() == 1){

            errors.rejectValue("positionId", "positionId.required");
        }

        if (officer.getStartDate() == null){

            errors.rejectValue("startDate","startDate.required");
        }

        if(officer.getEndDate() == null){

            errors.rejectValue("endDate","endDate.required");
        }

        logger.info("The Gender ID is " + officer.getGenderId().toString());

        if(officer.getPhoneNo() == null){

            errors.rejectValue("phoneNo", "phoneNo.required");
        }

    }



    /**
     * @return the validateUserNameManager
     */
    public ValidateUserNameManager getValidateUserNameManager() {
        return validateUserNameManager;
    }


    /**
     * @param validateUserNameManager the validateUserNameManager to set
     */
    public void setValidateUserNameManager(
            ValidateUserNameManager validateUserNameManager) {
        this.validateUserNameManager = validateUserNameManager;
    }



}

Update Error Log using Logger.Error(“Message”, e):

39024 [http-8084-2] INFO  com.crimetrack.service.OfficerRegistrationValidation  - UserName is not null so going to check if its valid for :adminz
39025 [http-8084-2] INFO  com.crimetrack.service.OfficerRegistrationValidation  - User Name in try.....catch block is adminz
39025 [http-8084-2] ERROR com.crimetrack.service.OfficerRegistrationValidation  - Message
java.lang.NullPointerException
    at com.crimetrack.service.OfficerRegistrationValidation.validate(OfficerRegistrationValidation.java:47)
    at org.springframework.validation.DataBinder.validate(DataBinder.java:725)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:815)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:367)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
39025 [http-8084-2] INFO  com.crimetrack.service.OfficerRegistrationValidation  - Error Occured When validating UserName

UPDATED

ApplicationContext.xml

<beans>
<!-- __________________________________________________________________________________________________ --> 

    <bean id="officerRegistrationValidation" class="com.crimetrack.service.OfficerRegistrationValidation">
            <property name="validateUserNameManager" ref="validateUserNameManager"/>
    </bean>

    <bean id="validateUserNameManager" class="com.crimetrack.service.ValidateUserNameManager">
            <property name="officerDao" ref="officerDao"/>
    </bean>


    <bean id="officerDao" class="com.crimetrack.jdbc.JdbcOfficersDAO" >
            <property name="dataSource" ref="dataSource" />
    </bean>

<!-- __________________________________________________________________________________________________ --> 


    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="${jdbc.driverClassName}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
    </bean>
<!-- __________________________________________________________________________________________________ -->    

    <bean id="propertyConfigurer" 
          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:jdbc.properties</value>
            </list>
        </property>
    </bean>
<!-- __________________________________________________________________________________________________ -->    

    <bean id="transactionManager" 
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>





  </beans>

Servlet.xml

<beans>
<!-- __________________________________________________________________________________________________ --> 

     <bean name="/hello.htm" class="com.crimetrack.web.CountryListController">
        <property name="countryManager" ref="countryManager"/>
     </bean>

    <bean name="/login.htm" class="com.crimetrack.web.AuthenticationController">
        <property name="authenticationManager" ref="authenticationManager"/>  
    </bean>

    <bean name="/officer_registration.htm" class="com.crimetrack.web.OfficerRegistrationController">
        <property name="divisionManager" ref="divisionManager" />
        <property name="positionManager" ref="positionManager" />
        <property name="genderManager" ref="genderManager"/>
    </bean>

<!-- __________________________________________________________________________________________________ -->    

    <bean name="/validateUserName.htm" class="com.crimetrack.web.OfficerRegistrationController">

        <property name="validateUserNameManager" ref="validateUserNameManager"/>    

    </bean>




<!-- __________________________________________________________________________________________________ -->    

      <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>        
      </bean>



</beans>
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-11T18:24:33+00:00Added an answer on June 11, 2026 at 6:24 pm

    I think you forget to autowire the officerDao field in ValidateUserNameManager.java

    Try adding @Autowire :

    @Autowire
    private OfficersDAO officerDao;
    

    Update:

    After you updated your stack trace, I think it’s the validateUserNameManager field in OfficerRegistrationValidation.java which is not autowired. However, this depends on what the line 47 is in OfficerRegistrationValidation.java

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a form validation message for the user name field which says the
I have a log in form on my app. Once a correct user name
I have a login form that has Username and password as inputs from user
I have form where user submits field. Field can have letters, numbers, and punctuation.
I have a registration form that a user can access via invitation. For example,
Let's assume I have a form with these fields (HTML) <input type=text name=user[name] value=name/>
I have a form with a name field and a text area. When the
I need to validate a given Name field in the asp.net form. User Name:
I have a form that is a validation field, there is a rand() server
i have the following form item { fieldLabel:'Username' ,id:username ,name:'username' ,allowBlank:false ,plugins:[Ext.ux.plugins.RemoteValidator] ,rvOptions: {

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.