如何创建自定义URL以支持用户句柄。

时间:2012-06-10 16:39:46

标签: jsp tomcat servlets

我有一个网站,我有一个像这样的网址 xyz.com/abc.jsp?user=5

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

我在tomcat上使用jsp,servlet。

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

由于你有servlet,你可以随时创建servlet并在web.xml中将servlet-mapping定义为“deepakagra”,并将你的请求转发给abc.jsp。

答案 2 :(得分: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并使用该标识符。您从数据库中提取它,进行所需的处理,然后转发到JSP。

注意:此代码未经过测试。

答案 3 :(得分:0)

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