[英]Calling a method from within a servlet in tomcat generated HTML
我在Apache Tomcat中使用的简单博客servlet中有一段Java代码。 我有根据上一页中的表单生成的页面,其中有一个发布帖子的链接。 我希望用户单击该链接以稍后在类中调用方法。 这可能吗?如果可以,怎么做?
链接生成GET请求。 因此,如果要在GET请求期间执行某些Java代码,则需要创建一个已实现doGet()
的Servlet,并相应地执行所需的代码逻辑。
如有必要,您可以使用常见的查询字符串方式(例如href="myservlet?name1=value1&name2=value2"
或-more SEO friendly-)传递请求参数,作为href="myservlet/value1/value2"
这样的路径的一部分,您可以使用HttpServletRequest#getPathInfo()
访问。
在处理完请求之后,servlet需要将请求转发到JSP以显示页面。 这可以通过request.getRequestDispatcher("page.jsp").forward(request, response)
。
myservlet
后面的servlet类显然要映射到/myservlet/*
的url-pattern
。
希望这可以帮助。
[编辑]正如您稍后的评论所显示的那样,您希望将请求范围的数据传递给下一个请求。 在这种情况下,只需将它们作为请求参数传递给下一个请求。 如果它们已经可以用作请求参数,则只需执行以下操作:
href="myservlet?name1=${param.name1}&name2=${param.name2}"
否则,如果它们仅可用作模型数据,请执行以下操作:
href="myservlet?name1=${data.name1}&name2=${data.name2}"
在doGet()
方法内部,您可以通过HttpServletRequest#getParameter()
。
祝好运。
是。 该链接可以指向该servlet(或任何servlet),并且在处理请求时,请调用所需的任何方法。
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
... whatever I want ...
anyMethod(req, res);
... whatever I want again ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.