빠른 개발을 위해 Java 기본 응용 프로그램에 임베드 된 Jetty를 사용하고 싶습니다. 부두에 완전히 새로운 나는 몇 가지 tuts 및 예제를보고 시작하고 여기에 내가 함께 넣어 것입니다 :임베디드 서블릿 컨테이너로 Jetty를 사용하려고 시도합니다.
public class JettyTest {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
server.dumpStdErr();
ServletHandler handler = new ServletHandler();
handler.addServletWithMapping(HelloServlet.class, "/*");
server.setHandler(handler);
server.start();
server.join();
}
}
class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
HttpServletResponse httpRes = (HttpServletResponse) res;
httpRes.setContentType("text/html");
httpRes.setStatus(HttpServletResponse.SC_OK);
httpRes.getWriter().println("<h1>Hello..</h1>");
}
}
그리고 이것은 치어의 의존성이다 :
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<!-- it is 3.1.0 version -->
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.2.15.v20160210</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>9.2.15.v20160210</version>
</dependency>
</dependencies>
내가이되지 가지고 있음을 실행 그래서 유망한 콘솔에 출력 :
[email protected] - STOPPED
+? qtp1355316001{STOPPED,8<=0<=200,i=0,q=0} - STOPPED
+? [email protected]{HTTP/1.1}{0.0.0.0:8080} - STOPPED
| +~ [email protected] - STOPPED
| +~ qtp1355316001{STOPPED,8<=0<=200,i=0,q=0} - STOPPED
| +?
[email protected]2 - STOPPED
| +- [email protected]67a5
| +? [email protected]{HTTP/1.1} - STOPPED
| | +- [email protected]{32768/8192,8192/8192,https://:0,[]}
| += [email protected]589838eb - STOPPED
| +- null
| +- null
| +- null
| +- null
|
+> [email protected]
...
와 나는 localhost:8080
를 공격하려고 할 때이 얻을 :
javax.servlet.ServletException: [email protected]==edu.jetty.exp.HelloServlet,-1,false
무엇이 누락 되었습니까?
Dunno. 나를 위해 일합니다. :) – Stewart
이전 버전의 Jetty ('8.1.22.v20160922')를 사용하고 있었으며 서블릿 매핑을 거치지 않고 직접 핸들러를 설정하고있었습니다. – Stewart