您需要一个具有适合您需求的映射的 servlet,如下所示:
@WebServlet("/")
然后当有人输入 URL 时yourpage.com/<anything here>
然后这个 servlet 将处理该请求。要从该网址获取用户名,您需要执行以下操作:
String username = request.getRequestURI().substring(1)
- 这将获取没有主机名和剥离的请求信息/
从中。
设置参数(您的信息),以便您可以在 JSF 中检索该参数:
request.setAttribute("userInfo", getSomeInfoByUsername(username));
然后您可以将请求转发到 JSF 视图文件,如下所示:
request.getRequestDispatcher("faces/index.xhtml").forward(request,response);
然后在 JSF 文件中,您可以执行类似的操作来从请求中获取信息:
<h:outputText value="#{requestScope.userInfo}"/>
如果我没有错过任何内容,那么这些就是您需要的全部内容,从 URL 获取用户名可能可以以更好的方式检索,但现在我什么也没想到。
有关 servlet 的更多信息请参见此处 http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html