Не удалось попасть на страницу Servlet

Добрый день,

Я только что настроил tomcat и использовал страницы сервлета java. Я новичок в этом и не смог попасть на индексную страницу успешно, но если бы я прямо попытался нажать на действие формы и передать определенный параметр, я мог бы видеть результаты. Пожалуйста, направляйте меня, если я что-то пропустил.

JSP - код

<div align="center" style="margin-top: 50px;">
 <form action="CrunchifyServlet">
 Please enter your Username:  
 Please enter your Password:  
 Please enter your Age:  
 
 </form> 
</div>

Java-код

public class HelloCrunchify extends HttpServlet {
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 // reading the user input
 String username = request.getParameter("username");
 String password = request.getParameter("password");
 String age = request.getParameter("age");
 PrintWriter out = response.getWriter();
 out.println (
 "\n" +
 " \n" +
 " \n" +
 " \n" +
 "<title> Crunchify.com JSP Servlet Example </title> \n" +
 " \n" +
 " <div align="center"><code>\n" +
 "&lt;style= \"font-size="\" 12px\""="" color="black" \""="" +="" "\"=""&gt;" +
 "Username: " + username + "  " + 
 "Password: " + password + "  " +
 "Age: " + age +
 " \n" +
 "" 
 ); 
 }
&lt;/style=&gt;</code>
<p>}</p>
<p> <span> web.xml</span></p>
<pre class="prettyprint linenums"> <display-name>CrunchifyJSPServletExample</display-name>
 <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
<servlet>
 <servlet-name>Hello</servlet-name>
 <servlet-class>com.crunchify.jsp.servlet.HelloCrunchify</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>Hello</servlet-name>
 <url-pattern>/CrunchifyServlet</url-pattern>
</servlet-mapping>

и если я попытался нажать этот localhost:9080/CrunchifyJSPServletExample/Crunchify.jsp, я получаю HTTP-статус 404.

Помощь будет оценена.

Спасибо

5 ответов

Вам нужно вынуть свой jsp из WEB-INF и поместить его прямо под WebContent, и он будет работать.


Посмотрев на ваш web.xml и прочитав свой комментарий, вы используете Crunchify.jsp для отправки данных, но контейнер сервлетов не может найти Crunchify.jsp в правильной папке на войне, так что вы получаете эту ошибку 404, что вам нужно сделать, это место Crunchify.jsp в той же папке, что и index.jsp

Как показано на рисунке выше, поставьте Crunchify.jsp как веб-страницы → Crunchify.jsp теперь, если вы вызываете http://localhost:9080/CrunchifyJSPServletExample/Crunchify.jsp, следует отлично работать


Проверьте, используете ли вы правильный путь контекста CrunchifyJSPServletExample. Как правило, это будет сгенерированное имя военного файла, если вы развертываете Tomcat вручную, или если вы используете tomcat, настроенный в eclipse, вы можете указать путь на вкладке "Модули".


Попробуйте. Измените код Java.

До:

protected void **doGet**(HttpServletRequest request, HttpServletResponse response)

После:

protected void **service**(HttpServletRequest request, HttpServletResponse response)

или

protected void **doPost**(HttpServletRequest request, HttpServletResponse response)

HTML-код, обычно устанавливающий http-метод, например get или post. Например:

<form action="CrunchifyServlet" method="POST">
<p>Но спецификация метода http отсутствует. Возможно, html связывается с сервером с помощью метода get, а сервлет не может быть распознан.</p>
<p>Пожалуйста, добавьте код, например sysout в сервлет. И нет вывода, http-метод подозрительный.</p></form>


не удалось успешно нажать на индексную страницу

Скажем, что содержимое вашей индексной страницы находится в файле с именем index.html. Следуйте инструкциям, приведенным ниже:

  • Поместите index.html файл в корневой каталог военного файла i.e на том же уровне с помощью каталога WEB-INF.
  • Пакет и развертывание приложения в контексте CrunchifyJSPServletExample.
  • Наконец, вызовите URL localhost: 9080/CrunchifyJSPServletExample. Он должен получать содержимое index.html.

licensed under cc by-sa 3.0 with attribution.