powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Взаимодействие JSP и Сервлета
5 сообщений из 5, страница 1 из 1
Взаимодействие JSP и Сервлета
    #34155415
SonicBoomBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть jsp файл, вот отрывок :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<h3>Login</h3>
<hr>
<form  name="loginForm"
	   method=POST
	   action="/JSPSERVLET/SimpleController"	>
	   <input type="hidden" name="cmd" value="login">
	   Login:<br>
	   <input type="text"
	   name="login"
	   value=""> <br>
	   Password: <br>
	   <input type="password"
	   name="password"
	   value=""> <br>
	   <input type="submit" value="SUBMIT">
	   </form>
Запускаю Tomcat,в броузере набираю http://localhost:8080/JSPSERVLET/login.jsp появляется страница, ввожу данные, нажимаю кнопку SUBMIT и выскакивает сообщение :
HTTP Status 404 - /JSPSERVLET/SimpleController

type Status report

message /JSPSERVLET/SimpleController

description The requested resource (/JSPSERVLET/SimpleController) is not available.

содержимое web.xml :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<servlet>
		<description>
		</description>
		<display-name>
		SimpleController</display-name>
		<servlet-name>SimpleController</servlet-name>
		<servlet- class >
		com.test.SimpleController</servlet- class >
	</servlet>
	<servlet-mapping>
		<servlet-name>SimpleController</servlet-name>
		<url-pattern>/Simplecontroller</url-pattern>
	</servlet-mapping> 

Помогите,пожалуйста, найти причину ошибки.
...
Рейтинг: 0 / 0
Взаимодействие JSP и Сервлета
    #34155428
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправьте здесь:
Код: plaintext
1.
2.
3.
4.
<servlet-mapping>
		<servlet-name>SimpleController</servlet-name>
		<url-pattern>/JSPSERVLET/SimpleController</url-pattern>
	</servlet-mapping>
или здесь:
Код: plaintext
1.
action="/SimpleController"

хотя на мой взгляд, лучше использовать "стандартный" маппинг: /servlet/имяСервлета
...
Рейтинг: 0 / 0
Взаимодействие JSP и Сервлета
    #34155431
fjord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код сервлета в студию и
Код: plaintext
action="/JSPSERVLET/SimpleController"
заменить на
Код: plaintext
action="SimpleController"
нужно если класс сервлета и .jsp находятся в одном проекте
...
Рейтинг: 0 / 0
Взаимодействие JSP и Сервлета
    #34155452
SonicBoomBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
код сервлета :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
 import  java.io.IOException;
 import  javax.servlet.ServletException;
 import  javax.servlet.*;
 import  javax.servlet.http.HttpServletRequest;
 import  javax.servlet.http.HttpServletResponse;

  public   class  SimpleController  extends  javax.servlet.http.HttpServlet  implements  javax.servlet.Servlet {
	
	 private   static   final   long  serialVersionUID = 1L;

	 public  SimpleController() {
		 super ();
	}   	
	
	 protected   void  doGet(HttpServletRequest request, HttpServletResponse response)  throws  ServletException, IOException {
		performTask(request, response);
	}  	
	
	 protected   void  doPost(HttpServletRequest request, HttpServletResponse response)  throws  ServletException, IOException {
		performTask(request, response);
	} 
	
	 protected   void  performTask(HttpServletRequest request, HttpServletResponse response)
		 throws  ServletException, IOException {
		 try  {
			String cmd = request.getParameter("cmd");
			 if  ("login".equals("cmd")) {
				String login = request.getParameter("login");
				String password = request.getParameter("password");
				request.setAttribute("user",login);
				jump("/main.jsp", request, response);
			}
		}  catch (Throwable e) {
			e.printStackTrace();
			jumpError(e.toString(), request, response);
		}
	}
	
	 protected   void  jump(String url, HttpServletRequest request, HttpServletResponse response)  throws  ServletException, IOException {
		RequestDispatcher rd = getServletContext().getRequestDispatcher(url);
		rd.forward(request, response);
	}
	
	 protected   void  jumpError(String errorMessage,HttpServletRequest request, HttpServletResponse response)  throws  ServletException,IOException {
		request.setAttribute("errorMessage", errorMessage);
		jump("/error.jsp", request, response);
	}
}
отрывок из web.xml :
Код: plaintext
1.
2.
3.
4.
<servlet-mapping>
		<servlet-name>SimpleController</servlet-name>
		<url-pattern>/SimpleController</url-pattern>
	</servlet-mapping>

Страница login.jsp запускается, но при нажатии кнопки выскакивает та же ошибка.
...
Рейтинг: 0 / 0
Взаимодействие JSP и Сервлета
    #34155490
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак. Ваша форма старается обратиться к /JSPSERVLET/SimpleController , это значит, что реально обращение идет по URL: http://host:port/JSPSERVLET/SimpleController.

В принципе маппинг у вас правильный, разумеется, если корень приложения <tomcat_base>/webapps/JSPSERVLET

Но! В приведенном коде сервлета я не заметил объявления пакета. Вы уверены, что SimpleController принадлежил именно com.test пакету?
Если нет, то его нужно туда поместить. И соответственно перенести в нужную директорию: /JSPSERVLET/WEB-INF/classes/com/test/ .

Теперь замечания по коду:
Код: plaintext
 extends  javax.servlet.http.HttpServlet  implements  javax.servlet.Servlet
Вот это чушь. HttpServlet уже реализует интерфейс Servlet. Зачем писать еще раз?
Уже наводит на некоторые мысли.

Код: plaintext
1.
2.
3.
 public  SimpleController() {
		 super ();
	}
Чего вы хотели этим добиться?

Обработка ошибки тоже весьма сомнительная, но это уже мелочь в данном контексте.

Подводя итог: сколько вы занимались основами Java, прежде чем начать учить JEE Web Tier?
Просто интересно.

Мое мнение: вхождение в JEE требуют минимум полгода работы с Java. Это очень плотной и продуктивной работы, а то и больше.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Взаимодействие JSP и Сервлета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]