从servlet捕获URL的参数

时间:2014-01-22 10:27:04

标签: java web-services rest servlets web

我有两个网络应用程序。当用户单击第一个应用程序中的链接时,将显示第二个应用程序。我已将用户注册ID作为参数包含在链接的URL中。在第二个应用程序中,我编写了一个servlet来捕获用户注册ID。

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {

        try {
            int userId= Integer.parseInt(request.getParameter("userId"));

        } finally {            
            out.close();
        }
    }  

任何正文请告诉我,我应该在第二个申请中的任何地方提到链接的URL。否则从servelet获取userId参数的位置。我对java web的东西很新。请帮帮我。

由于我的问题不明确,我会在下面再提一个样本。 以下是我的服务。

@Path("/hello")
public class HelloWorldService {

@GET
@Path("/{email}")
public Response getUserDetails(@PathParam("email") String email){
    String output = "User info ..  "+email ;
    return Response.status(200).entity(output).build();
}

下面是我的servlet。

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {

        try {
            String parameter= request.getParameter("email");

        } finally {            
            out.close();
        }
    }  

我的网址是...... localhost:8080/RESTfulExample/rest/hello/hasi@gmail.com 我想将“hasi@gmail.com”添加到servlet中的参数变量中。请帮我这样做。

1 个答案:

答案 0 :(得分:0)

如果您的第二个应用程序需要userid参数。您可以在第一个应用程序的链接中传递它,在第二个应用程序中,您将获得它。我认为你做得很好。

“任何正文请告诉我,我是否应该在第二个申请中提到链接的URL。” - 不确定你想要什么,但在第一个应用程序链接中,如果你传递参数,第二个应用程序将从请求中获取它,就像你做的那样。

  

编辑后

使用request.getRequestURL();这将为您提供所请求的网址。然后你可以只进行字符串操作来获取值。