java—在tomcat生成的html中从servlet中调用方法

t40tm48m  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(333)

我在ApacheTomcat中使用的一个简单的博客servlet中有一段java代码。我的网页正在生成的基础上,在上一页的形式,这是一个链接发布的帖子。我希望用户单击该链接以后在类中调用一个方法。这可能吗?如果可能,怎么可能?

dzjeubhm

dzjeubhm1#

链接生成get请求。因此,如果希望在get请求期间执行一些java代码,则需要创建一个具有 doGet() 实现并相应地执行所需的代码逻辑。
如有必要,可以使用常见的查询字符串方式传递请求参数,如 href="myservlet?name1=value1&name2=value2" 或者-更seo友好-作为路径的一部分,如 href="myservlet/value1/value2" 您可以使用 HttpServletRequest#getPathInfo() .
在处理请求之后,servlet需要将请求转发到jsp以显示页面。这可以通过 request.getRequestDispatcher("page.jsp").forward(request, response) .
后面的servlet类 myservlet 很明显是要Map到 url-pattern/myservlet/* .
希望这有帮助。
[编辑]正如您稍后的一条评论所揭示的,您希望将请求范围内的数据传递给下一个请求。在这种情况下,只需将它们作为请求参数传递给下一个请求。如果它们已经可以作为请求参数使用,那么只需执行以下操作:

href="myservlet?name1=${param.name1}&name2=${param.name2}"

否则,如果它们仅作为模型数据可用,请执行以下操作:

href="myservlet?name1=${data.name1}&name2=${data.name2}"

内部 doGet() 方法你可以用通常的方法重新获得它们 HttpServletRequest#getParameter() .
祝你好运。

yb3bgrhw

yb3bgrhw2#

对。该链接可以指向该servlet(或任何servlet),当您处理请求时,可以调用任何您喜欢的方法。

public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws IOException, ServletException {

    ... whatever I want ...

    anyMethod(req, res);

    ... whatever I want again ...
}

相关问题