Well, part of your problem is that you
don't access a class from a
JSF View (what you called a "JSP"). You access an
instance of a class.
Specifically, when you use the annotations that you illustrated, the JSF framework is going to instantiate a bean of class "Ab" and store it in your webapp's HttpSession object under the name "ab", since by default, the convention is to lower-case the class name's first character to form the instance name. That can be overridden with an annotation, but it's a reasonable naming convention.
So to refer to your bean's properties in a JSF view, you'd use the EL expression "#{ab.name}".
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.