Мне нужно создать небольшой сервлет, который хранит текст (массив слов) и добавляет возможность менять одно слово в тексте на другое. Для этого я создал форму:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Lab 6</title>
</head>
<body>
<form name="LabForm" method="post" action="servlet">
Old word: <input type="text" name="oldWord"/><br>
New word: <input type="text" name="newWord"/><br>
<input type="submit" value="Change">
</form>
</body>
</html>
На этой странице у меня есть кнопка Изменить , и когда я нажимаю на нее сервлет , которая связана с этой формой,как видите, начинает работать. Вот код сервлета:
@WebServlet(name = "Servlet", urlPatterns = {"/servlet"})
public class Servlet extends HttpServlet {
String arr[] = {"test1",
"test2",
"test3",
"test4",
"test5",
"test6",
"test7",
"test8",
"test9",
"test10",
"test11"};
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String oldWord = req.getParameter("oldWord");
String newWord = req.getParameter("newWord");
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
for (int i = 0; i<arr.length;i++){
if (arr[i].equals(oldWord)) {
arr[i] = newWord;
}
out.print(arr[i]+" ");
}
}
}
Как показано, здесь отображаются мои данные ( arr ). Я пытался использовать этот сервлет на своей главной странице, но, как я понял, если у меня есть кнопка, мне нужно создать ссылку на другую страницу. Пожалуйста, поправьте меня, если я ошибаюсь. Но если я хочу отобразить свой сервлет на главной странице (чтобы показать пользователю текст, а затем ввести слово, которое он хочет изменить), что я должен сделать для этого. Можно ли каким-либо образом получить доступ к сервлету из моего index.jsp
? Поскольку я не хочу копировать данные из сервлета таким образом, как
<h2>test1 test2 ... </h2>
, я буду признателен за любую помощь. Заранее спасибо и надеюсь, что у вас будет хороший день!