javascript - 使用 Java Servlet 的 URL 路由

标签 javascript html jsp servlets

我想知道是否有一种方法可以像我在 express.js 中那样在 java servlet 中执行类似的代码

在表达中我可以说例如:

app.get('/:name',function(bla bla)){}

:/name是一个参数,其中get的url可以是

localhost/kevin
localhost/joe

或其他任何...这很棒,因为我可以使用那个名称 (request.params.name) 等等。它也很棒,因为我可以创建多少条路线没有限制(据我所知),它只是一个占位符。

有没有一种方法可以使用 Java servlet 做到这一点?我希望能够有一个 html 页面,当我单击一个按钮时它会转到 localhost/button1 如果我单击另一个按钮它会转到 localhost/button2 .. 并且等等..但是我也让用户动态创建按钮所以我不想事先创建jsp页面,我只想让servlet创建一个..?

谢谢

最佳答案

差不多。借助前缀映射 /foo/*HttpServletRequest#getPathInfo() .

@WebServlet("/name/*")
public class NameServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getPathInfo().substring(1);
        // ...
    }

}

调用它作为

您可以选择将 servlet 映射到 /* 上,但是它会像全局前端 Controller 一样工作,这不一定是个好主意,因为您必须使用 CSS/等静态资源考虑到 JS/图像等。

如果您确实打算创建 REST 服务,请查看 JAX-RS 而不是“普通”servlet。它将进一步减少样板代码。另见 a.o. Servlet vs RESTful .

关于javascript - 使用 Java Servlet 的 URL 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31268959/

相关文章:

javascript - 如何使用 Javascript 获取多个输入字段的值

php - 将 php 变量传递给动态 php 的外部 js 文件

javascript - 如何基于这个简单对象构建这个复杂的数组

javascript - 可拖动的屏幕左侧(JQuery)

java - 循环遍历结果集

javascript - JQuery 访问单击的元素而不使用闭包

javascript - 我的 Joomla 模板正在使用 JS 加载我的自定义 CSS。有没有办法将唯一的版本标签添加到我的自定义 CSS 中?即 : custom. css?20180101

javascript - 当我在文本字段中添加 <br> 时,它被视为命令而不是字符串

java - 如何从一个jsp页面过渡到另一个?

jsp - <c :set and <c:if in spring