Welcome to the JavaRanch, Naresh!
I'll give my standard warning that user-written Logins are a Bad Thing and that
you should be using the
J2EE standard container-managed security framework instead. If you do that, you won't have this problem, because the login page won't have a URL at all. Instead, the server will present it when any protected URL is requested and the user isn't already logged in.
Beyond that, the FacesServlet requires an operand as part of the URL, and that operand is parsed out of the URL and used to locate a model View for JSF to render. Therefore, a generic URL, such as "/signOn" doesn't work. It would have to be something like "/signOn.jsf"
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.