https://localhost:8080/invoice_creation/1/
这里/ininvoice_creation是我的资源位置,/1是我的发票号码,表示我的数据库。当我在poster中传递这个URL时,我想在我的javaservlet中单独解析值1。我使用了request.getParameter()方法。。但这对我没有帮助。请帮助我解析我的javaservlet页面中的值1
getParameter
用于x
和y
,例如:http://localhost:8080/invoice_creation/1?x=5&y=hello
。
Web服务器在端口8080上侦听,接收访问者希望访问的"位置"(如/invoice_creation/1?x=6&y=hello
),然后需要通过查找应该处理此问题的"处理程序"来路由。然后它调用该处理程序。
Java有大量的web框架,大多数都有自己的路由方式。
"原始"java web服务器使用servlets API。这是一个糟糕的API,你不应该使用;使用起来很痛苦。但是,考虑到你用servlets
标记了这个问题,你显然在使用它。我建议你四处看看;也许Jersey/JaxRS更好,尤其是当您试图建立一个REST API时。
无论如何,如果您坚持使用servletneneneba API,那么您已经以某种方式设置了路由,使得/invoice_creation/_anything goes here_
最终到达某个servlet,现在您希望"一切都在这里"部分。具体如何做到这一点取决于几个因素,但通常是其中之一:
-
req.getPathInfo()
。根据您正在使用的Web Server/servlet容器,这将返回/1
或/invoice_creation/1
。您必须使用正则表达式(java.util.regexp.Pattern
和友元)或基本字符串操作(如str.substring
)从中"提取"1。 -
req.getTranslatedPath()
。 -
req.getRequestURI()
-这肯定会返回全部内容(包括/invoice_creation/
)。