我有一个网站,我有一个像这样的网址 xyz.com/abc.jsp?user=5
现在,如果此用户的ID为5;想要创建像deepakagra这样的句柄,以便他可以通过xyz.com/deepakagra访问他的个人资料;我怎么能实现它?
我在tomcat上使用jsp,servlet。
答案 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。在这里,我们可以轻松地创建一个将在上面实现的规则。