Java 什么';servlet url路径和参数之间有什么不同?

Java 什么';servlet url路径和参数之间有什么不同?,java,url,tomcat,servlets,path,Java,Url,Tomcat,Servlets,Path,localhost/user/user123,localhost/user?user=user123和localhost/?user=user123之间有什么区别 如何从servlet中的URLlocalhost/user/user123获取参数user123 提前感谢localhost/user/user123看起来像是一种RESTful方式来识别资源 我认为其他两个不是。localhost/user/user123看起来像是一种RESTful方式来识别资源 我认为其他两个不是。这些都可以从S

localhost/user/user123
localhost/user?user=user123
localhost/?user=user123
之间有什么区别

如何从servlet中的URL
localhost/user/user123
获取参数
user123


提前感谢

localhost/user/user123看起来像是一种RESTful方式来识别资源


我认为其他两个不是。

localhost/user/user123看起来像是一种RESTful方式来识别资源


我认为其他两个不是。

这些都可以从Servlet API访问。选中,您可以从那里访问所有信息

实际值可能与部署webapp的方式不同,但通常

  • localhost
    是上下文路径
  • 后面的字符串是Servlet路径
  • 后面的参数是查询字符串-如果要使用

这些都可以从Servlet API访问。选中,您可以从那里访问所有信息

实际值可能与部署webapp的方式不同,但通常

  • localhost
    是上下文路径
  • 后面的字符串是Servlet路径
  • 后面的参数是查询字符串-如果要使用
      • localhost/user/user123
        -此url将通过模式
        /user/user123
      • localhost/user?user=user123
        -此url将通过模式
        /user
        处理,其中
        user
        参数设置为
        user123
        (用于GET请求)
      • localhost/?user=user123
        -此url将通过模式
        /
        处理,并将
        user
        参数设置为
        user123
        (同样,用于GET)
      我不知道如何使用纯servlet从url
      localhost/user/user123
      检索
      user123
      ,但是使用webmvc框架很容易。Spring示例:

      @Controller
      @RequestMapping("/user")
      public class Controller {
          @RequestMapping(value = "/{user}")
          public String getUser((@PathVariable String user) {
              //here variable "user" is available and set to "user123" in your case
          }
      }
      
      • localhost/user/user123
        -此url将通过模式
        /user/user123
      • localhost/user?user=user123
        -此url将通过模式
        /user
        处理,其中
        user
        参数设置为
        user123
        (用于GET请求)
      • localhost/?user=user123
        -此url将通过模式
        /
        处理,并将
        user
        参数设置为
        user123
        (同样,用于GET)
      我不知道如何使用纯servlet从url
      localhost/user/user123
      检索
      user123
      ,但是使用webmvc框架很容易。Spring示例:

      @Controller
      @RequestMapping("/user")
      public class Controller {
          @RequestMapping(value = "/{user}")
          public String getUser((@PathVariable String user) {
              //here variable "user" is available and set to "user123" in your case
          }
      }
      

      通常,您传递的参数如下

      /localhost/Servlet?parameter1=one
      
      或用于JSP

      /localhost/mypage.jsp?parameter1=one
      
      在servlet中,可以使用请求对象访问参数。所以一般来说是这样的:

      String parameter1 = request.getParameter("parameter1");
      
      下面是有关的getParameter的一些详细信息


      希望这能有所帮助。

      通常您会传递如下参数

      /localhost/Servlet?parameter1=one
      
      或用于JSP

      /localhost/mypage.jsp?parameter1=one
      
      在servlet中,可以使用请求对象访问参数。所以一般来说是这样的:

      String parameter1 = request.getParameter("parameter1");
      
      下面是有关的getParameter的一些详细信息


      希望这有帮助。

      您可以从HttpServletRequest对象的getPathInfo()进行解析

      示例代码

      String urlPath = request.getPathInfo();
      
      System.out.println("" + urlPath.substring(urlPath.lastIndexOf("/"), urlPath.length()- 1));
      

      您可以从HttpServletRequest对象的getPathInfo()进行分析

      示例代码

      String urlPath = request.getPathInfo();
      
      System.out.println("" + urlPath.substring(urlPath.lastIndexOf("/"), urlPath.length()- 1));
      

      苹果和死星有什么不同?虽然如果每一个都放在纸上,风不会把它吹走,苹果不是死星,反之亦然。你的问题也是如此。我们只是不使用你想要的路径。一条路径在语义上是不同的,如果它有相同的部分,但顺序不同,这对于参数来说是不正确的。我强烈建议你学习教程。你真的需要它。这有点苛刻。尝试将他指向描述路径信息和请求参数的页面,这正是他真正需要的。上面的教程是第8页,共15页。苹果和死星有什么不同?虽然如果每一个都放在纸上,风不会把它吹走,苹果不是死星,反之亦然。你的问题也是如此。我们只是不使用你想要的路径。一条路径在语义上是不同的,如果它有相同的部分,但顺序不同,这对于参数来说是不正确的。我强烈建议你学习教程。你真的需要它。这有点苛刻。尝试将他指向描述路径信息和请求参数的页面,这正是他真正需要的。在上面的教程中,它是第8页,共15页。