Я предполагаю, что вы хотите, чтобы выполнить процедуру всякий раз, когда кто-то обращается JSP-файл x.jsp.
Хотя можно запустить форму кода Java внутри JSP-файла, я бы никогда не рекомендовал его. Вы можете спросить, почему, но это было задокументировано лучше, чем я когда-либо мог в сообщении this.
Чтобы ответить на ваш вопрос, вам нужно создать сервлет
@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);
}
}
Кроме того, вы должны изменить права доступа к вашей веб-приложение. Что описано на этом page.
Помните, что это самый базовый подход, а не самый чистый. Обычно выполнение любого 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 необходимо сделать HTTP-сообщение сервлету.
<!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>
И сервлет должен выполнить код.
@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);
}
}
* как я могу запустить файл, когда мой путь к файлу jsp? * -> Разработайте это. Непонятно – mtk
Я не спустил вниз, но поскольку на нижнем уровне нет комментариев, я сделаю это: на ваш вопрос не хватает качества, пожалуйста, прочитайте [как спросить] [http://stackoverflow.com/questions/ как-спросить]. Ваш вопрос должен задавать проблему в контексте, проблема должна быть ясной, а предоставленный код должен быть как можно меньше, хотя и быть полным. –