我不能在 Servlet url 模式中添加任何目录路径吗?

Can't I add any directory path in Servlet url-pattern?

我目前使用 /Main 作为默认 url 模式。 可以用 /Main2 或其他词替换它,但我想添加一个目录,例如 /Project/Main.

/项目路径实际上并不存在,只是希望 /Main 和 /Project/Main 以相同的方式工作。

也就是说,希望描述的路由调用一个servlet。有办法吗?

ex) 172.0.0.1/Project/Main = 172.0.0.1/Main

=> 结果:Main_servlet

据我所知,您只能以String格式传递给主要知识。这是因为传递给 main 方法的东西来自 System.in,通过随机用户输入或管道之类的东西,你可以将字符串从一个 Java 程序传递到另一个程序。

也就是说,您可以做的是在您的对象中创建一个方法 class 来解析该对象的字符串形式以重新创建该对象的原始版本。

例如:

public class myRectangle
{
     private int length;
     private int width;

     public myRectangle(int inLength, int inWidth)
     {
         this.length = inLength;
         this.width = inWidth;
     }

     // the rest of your class
     public String toString()
     {
          return "[" + length + ", " + width + "]";
     }

     public static Rectangle parseString(String input)
     {
          int firstBracketIndex;
          int commaIndex;
          int lastBracketIndex;

          firstBracketIndex = 0;
          commaIndex = input.indexOf(",");
          lastBracketIndex = input.length() - 1;

          String aWidth = input.substring(firstBracketIndex, (commaIndex - 1));
          String aLength = input.substring((commaIndex + 2), lastBracketIndex);

          return new Rectangle(Integer.parseInt(aWidth), Integer.parseInt(aLength));
      }

 }

这样的事情可以解决您的问题。 (我的代码中可能会有一些错误,我写得很长所以很清楚,但是你明白了!)

重点是,您创建了一个与 toString 方法相反的解析方法,这样您就可以从命令行获取 class 的副本。