Get rid of the <jsp:useBean>. When using the type attribute instead of class, it won't check if there's already an instance in the scope, it will plain override the Person instance which you created in the servlet with a new, blank, default constructed instance.
When using "MVC architecture", the <jsp:useBean> tag is useless. Remove it and just use usual ELEL to access it:
${person.firstName} ${person.lastName} Or better, to prevent XSS attacks, use JSTLJSTL <c:out>.
<c:out value="${person.firstName} ${person.lastName}" />