If you don't use the mapping your JSP engine will create two different instances. which explain the fact of having two different results by using the above URLs. However the web.xml you are using already has the mapping in, try to take the statement of mapping off, save the file and restart Tomcat, and then try again, you'll see at that time two different results.
sessionDidActivate(HttpSessionEvent event) is a Callback after the session activates, and since sessions can not be carried over from one JVM to another, It will be called after the session activates
doStartTag must indicate whether to evaluate the body. Try this:
public int doStartTag() throws JspException