最简单的方法是声明一个如下的Servlet映射: <servlet-mapping> <servlet-name>UsersSelvlet</servlet-name> <url-pattern>/Users/*</url-pattern> </servlet-mapping> 现在,每当您收到MyApp/Users/UserId的请求时,您会读取请求路径,获取userId并检查用户是否存在。如果不存在,则返回“未找到”。否则,返回用户页面。这是一个快速而简单的RESTful服务实现。
我认为kgiannakakis的解决方案非常好。我只想添加一些细节,因为阅读Agusti-N的评论后,我怀疑他可能会错过某些东西。假设您有kgiannakakis描述的UsersServlet、名为showUserProfile.jsp的jsp以及一个userBean,其中包含需要在jsp中显示的用户配置文件的所有属性。当新用户注册您的应用程序时,您无需做任何额外的事情。只需在数据库中注册一个新用户,并忘记登录servlet。现在假设我使用我的用户名alexmeia注册了您的应用程序。当某人输入url yourApp/Users/alexmeia时,将调用UsersServlet。此servlet从请求url获取用户名alexmeia,在DB中检查此用户名是否存在,如果存在,则加载此用户的所有属性到userBean中。之后,转发到showUserProfile.jsp,该jsp从userBean中读取并显示用户配置文件。显然,如果用户alexmeia不在Db中,则可以重定向到通用的userNotFound.jsp,或转到主页并显示消息等等...这适用于所有已注册用户。您不需要为每个新用户创建真正的新url。