Ваш код не выглядит так, как если бы он вообще компилировался.
- Параметр
response
не имеет типа - должен быть HttpServletResponse
- Существует точка с запятой (
;
) после request.getParameter("userName")
Также я не уверен, почему вы получаете RequestDispatcher
из контекста сервлета, а не из запроса - опять же, я никогда не проверял, имеет ли это какое-то значение.
В любом случае, я бы переписал doPost
метод, подобный этому:
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setAttribute("userName", request.getParameter("userName"));
req.getRequestDispatcher("/WEB-INF/test.jsp").forward(req, resp);
}
EDIT:
Я предполагаю, что у вас есть правильное отображение сервлета в вашем web.xml:
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
или ваш сервлет снабжен аннотацией @WebServlet
:
@WebServlet("/HelloWorldServlet")
public class FirstServlet extends HttpServlet {
//your code
}
. Если ни один из них не соответствует действительности, то это ваша проблема.