我在ApacheTomcat中使用的一个简单的博客servlet中有一段java代码。我的网页正在生成的基础上,在上一页的形式,这是一个链接发布的帖子。我希望用户单击该链接以后在类中调用一个方法。这可能吗?如果可能,怎么可能?
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/* .希望这有帮助。[编辑]正如您稍后的一条评论所揭示的,您希望将请求范围内的数据传递给下一个请求。在这种情况下,只需将它们作为请求参数传递给下一个请求。如果它们已经可以作为请求参数使用,那么只需执行以下操作:
doGet()
href="myservlet?name1=value1&name2=value2"
href="myservlet/value1/value2"
HttpServletRequest#getPathInfo()
request.getRequestDispatcher("page.jsp").forward(request, response)
myservlet
url-pattern
/myservlet/*
href="myservlet?name1=${param.name1}&name2=${param.name2}"
否则,如果它们仅作为模型数据可用,请执行以下操作:
href="myservlet?name1=${data.name1}&name2=${data.name2}"
内部 doGet() 方法你可以用通常的方法重新获得它们 HttpServletRequest#getParameter() .祝你好运。
HttpServletRequest#getParameter()
yb3bgrhw2#
对。该链接可以指向该servlet(或任何servlet),当您处理请求时,可以调用任何您喜欢的方法。
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { ... whatever I want ... anyMethod(req, res); ... whatever I want again ... }
2条答案
按热度按时间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/*
.希望这有帮助。
[编辑]正如您稍后的一条评论所揭示的,您希望将请求范围内的数据传递给下一个请求。在这种情况下,只需将它们作为请求参数传递给下一个请求。如果它们已经可以作为请求参数使用,那么只需执行以下操作:
否则,如果它们仅作为模型数据可用,请执行以下操作:
内部
doGet()
方法你可以用通常的方法重新获得它们HttpServletRequest#getParameter()
.祝你好运。
yb3bgrhw2#
对。该链接可以指向该servlet(或任何servlet),当您处理请求时,可以调用任何您喜欢的方法。