Я создал простой сервлет, который я хочу развернуть в Jetty 7.2. Jetty работает и может обслуживать страницы JSP на http://localhost:8080/jonas/test.jsp
. Я начал Jetty с помощью команды java -jar start.jar
.Как развернуть сервлет в Jetty?
Я сохранил свой скомпилированный Servlet MyServlet.class
в <my_jetty_directory>/webapps/jonas/WEB-INF/classes/MyServlet.class
, а затем попытался получить доступ к этой Servlet на http://localhost:8080/jonas/servlets/MyServlet
но я получаю ошибку HTTP 404
.
HTTP ERROR 404
Problem accessing /jonas/servlet/MyServlet. Reason:
Not Found
Есть ли что-то еще, что мне нужно сделать? Где в файловой структуре Jetty я должен разместить MySerlvet.class
?
Теперь я создал простой web.xml
файл и сохранили его в <my_jetty_directory>/webapps/jonas/WEB-INF/web.xml
и перезапущен мой Jetty, но он не работает. Вот мой простой web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
</web-app>
У меня была аналогичная проблема с JSP, которая решается в настоящее время: How do I deploy a JSP file in the Jetty webserver?
Вы используете Jetty как автономный сервлетконтейнер, к которому вы развертываете полнофункциональные файлы WAR? Или вы используете Jetty как встроенный servletcontainer и программно создаете/запускаете его с помощью Java-кода? – BalusC
@BalusC: Я использую Jetty как автономный servletcontainer, и я только развертываю простой класс сервлетов Hello World, я еще не узнал о том, как создавать файлы '.war'. Сначала я изучу основы. – Jonas
Хорошо, тогда Божо действительно прав. В противном случае ответ был бы «context.addServlet (новый ServletHolder (новый MyServlet(),«/myservlet »)), как описано здесь http://docs.codehaus.org/display/JETTY/Embedding+Jetty – BalusC