抱歉,我来自PHP网络世界。
我曾经在像Laravel这样的框架中使用路由器发送到控制器并获取参数。我知道如何通过使用get
post
并使用web.xml
通配符来路由事物来使用servlet获取servlet-mapping
和*
参数,但我不熟悉如何获取通过HttpServletRequest
或doGet
传递doPost
变量的网址通配符。
有什么地方我可以抓住那些网址的通配符,例如,如果网址是用户名或特定网页,我不想将其硬编码到web.xml中?我确定有。
我想知道我在PHP $_SERVER
变量中可以获得的内容,以便读取有关传入请求的数据。还需要像饼干这样的东西。有人能给我一个Java Servlets的快速指针吗?
编辑:
或者我可能只是将变量粘贴到变量所属的位置而不是制作"页面"出于假变数。我也对这个想法持开放态度。
我的主要问题是,我不知道如何在从web.xml路由后在doGet
或doPost
中获取网址通配符,所以我不知道或者想要知道如何或被告知这是一件愚蠢的事情而根本不去做。
答案 0 :(得分:0)
结帐Spring MVC。使用Spring Controllers,您可以使用
这样的URL路径@RequestMapping("/fixed/{id}/{user}")
public String getSomeData(@PathVariable("id") String id, @PathVariable("user") String user) {
...
}
甚至
@RequestMapping("/{id}/**")
public void doSomething(@PathVariable("id") int id, HttpServletRequest request) {
String remainingUrl = (String) request.getAttribute(
HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
...
}