-1

我有一个网站,其中有一个类似 xyz.com/abc.jsp?user=5 的 URL

现在如果这个用户的 id 为 5 ; 想要创建一个像 deepakagra 这样的句柄,以便他可以通过 xyz.com/deepakagra 访问他的个人资料;我怎样才能实现它?

我在tomcat上使用jsp,servlet。

4

4 回答 4

0

您必须将“deepakagra”解析为页面的 GET 参数,然后进行数据库查找以找到该用户名的 ID 并获取您想要的内容。

于 2012-06-10T16:42:43.170 回答
0

由于您有 servlet,您始终可以创建 servlet 并将 web.xml 中的 servlet-mapping 定义为“deepakagra”,这会将您的请求转发到 abc.jsp。

于 2012-06-10T16:43:56.597 回答
0

如果我理解正确,您不想在 GET 中使用参数。当你点击 localhost:8080/profile/deepakagra 时,如果它映射到模式,它应该调用这个 servlet

@WebServlet(name="profile", urlPatterns={"/profile/*"} )
public class ProfileServlet extends HttpServlet { 
....

protected final String getProfileId(HttpServletRequest request ){
        String base = request.getPathInfo();
        String id = null ;
        if( base.split("/").length >= 2 )
          id = base.split("/")[1] ;
        return id ;
      }

然后在您的 GET/POST 方法中调用 getProfileId 并获取 ID。您从数据库中提取它,进行您需要的处理,然后转发到 JSP。

注意:此代码未经测试。

于 2012-06-10T19:43:25.437 回答
0

我使用了 tuckey 的 urlrewrite。在这里,我们可以轻松地创建一个可以实现上述目标的规则。

于 2012-10-15T17:08:01.137 回答