Как заменить ServletException после Tomcat 6.0?

Привет ребят. Новичок в tomcat / apache, возврат java здесь.

Я пытаюсь запустить пошаговый пример здесь (http://static.springsource.org/docs/Spring-MVC-step-by-step/part1.html).

К сожалению, я продолжаю получать сообщение об ошибке: «Проект не был создан, так как его путь сборки неполный. Не удается найти файл класса для javax.servlet.http.HttpServletResponse. Исправьте путь сборки, а затем попробуйте создать проект». Я изучил его и обнаружил, что javax.servlet по умолчанию закомментирован в файле conf/web.xml для tomcat, и это потому, что теперь людям следует избегать использования сервлетов или чего-то еще.

Тогда мои вопросы:

  1. Как мне переписать это так, чтобы оно соответствовало принципам, которые его вызвали?
  2. (Дополнительный вопрос) После внесения изменений в этот файл tomcat, conf/web.xml, как мне сделать так, чтобы эти изменения отобразились в моем редакторе (в данном случае Eclipse)?

Спасибо!


person Danny    schedule 01.09.2010    source источник


Ответы (1)


Не удается найти файл класса для javax.servlet.http.HttpServletResponse. Исправьте путь сборки, затем попробуйте собрать проект».

Эта ошибка компиляции означает, что файл JAR, содержащий API сервлета, отсутствует в пути к классам времени компиляции (путь сборки). Вам необходимо включить Tomcat servlet-api.jar в путь сборки в соответствии с комментариями в файле build.xml.

Я изучил его и обнаружил, что javax.servlet по умолчанию закомментирован в файле conf/web.xml для tomcat, и это потому, что теперь людям следует избегать использования сервлетов или чего-то еще.

Я не уверен, о чем вы говорите, но на самом деле вам не следует трогать conf/web.xml, когда вы все еще начинаете разработку JSP/Servlet. По умолчанию должно быть хорошо. API-интерфейс Servlet, безусловно, не обескуражен/устарел или что-то в этом роде. Это по-прежнему самый важный основной строительный камень веб-приложения на основе Java.

Тем не менее, мне также неясно, что вы имели в виду под «Как заменить ServletException после Tomcat 6.0» в заголовке вашего вопроса. Можете ли вы уточнить это в своем вопросе?

person BalusC    schedule 01.09.2010
comment
Извините, что я не мог дать ссылку на сайт, что заставило меня подумать, что мне нужно его заменить; Мне нужно 10 повторений, прежде чем размещать более 1 ссылки в вопросе. Я нашел эту ссылку, faq.javaranch.com/view?InvokerServlet, пытаясь найти как решить эту проблему. Часть, посвященная переходу к погоне, заставила меня подумать, что теперь это плохая практика, но теперь я предполагаю, благодаря вашей проницательности, что сервлеты Invoker являются особым типом, который не осуждает остальные. Явное включение servlet-api.jar решило проблему сборки. Спасибо! - person Danny; 02.09.2010
comment
InvokerServlet совершенно не связан с этим. Это специальный класс сервлета для Tomcat, который позволяет вам вызывать сервлеты непосредственно по его имени пакета/класса в URL-адресе без необходимости их сопоставления с определенным url-pattern в web.xml веб-приложения. Позже это было сочтено огромной дырой в безопасности, поэтому оно было отключено по умолчанию, начиная с Tomcat 5.0 (октябрь 2002 г.), и удалено в Tomcat 7.0 (июнь 2010 г.). Кстати, я до сих пор не понимаю, как заголовок вашего вопроса связан со всем этим. - person BalusC; 02.09.2010