They are not the same. A Session Bean is an EJB Component that is managed within an EJB Container. The container provides a bunch of services to make the developers life easier, such as remoteability, declarative transactioning, lifecycle management, resource pooling, declarative security, blah, blah, blah. A JavaBean (like the ones typically used in JSP) are just plain Java classes that follow a standard naming convention for methods. This allows easy manipulation using reflection (which is what the JSP tags transparently do for you). None of the previously mentioned services are available to plain JavaBeans.