我猜你想在有人访问 JSP-File x.jsp 时执行该过程。
虽然可以在 JSP 文件中运行 Java 代码表单,但我绝不会推荐它。你可能会问为什么,但是这比我在这篇文章中得到的记录要好。
要回答您的问题,您需要创建一个 servlet
@WebServlet("/YourServlet")
public class YourServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public YourServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
new Execute.run();
request.getRequestDispatcher("/WEB-INF/_search.jsp").forward(request, response);
}
}
此外,您将不得不更改您的 web 应用程序的权限。记录在此页面上。
请注意,这是最基本的方法,而不是最干净的方法。通常,任何 java 代码(控制执行计划)的执行都是在服务中完成的。您可以通过(agian)声明一个 HttpServlet 并在那里声明一个服务来向您的应用程序添加一个服务。
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
new Execute.run();
if (view.equals(request.getPathInfo().substring(1)) {
request.getRequestDispatcher("/WEB-INF/" + view + ".jsp").forward(request, response);
} else {
response.sendRedirect(view);
}
} catch (Exception e) {
throw new ServletException("Executing action failed.", e);
}
}
虽然我不知道下面的评论是什么意思,但我会将 html 代码添加到答案中以使其更完整。在实践中,这意味着:
提交时,html 需要向 servlet 发送 HTTP-Post。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<table align="center" border="3">
<tr>
<td><form action='Myactionhandle'><input type="submit" value="submit" name="submit"/></form></td>
</tr>
</table>
</body>
</html>
servlet 必须执行代码。
@WebServlet("/Myactionhandle")
public class YourServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public YourServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
new Execute.run();
request.getRequestDispatcher("/WEB-INF/_search.jsp").forward(request, response);
}
}