I am starting my servlet by 'gradle appRun', and jetty responds on the contextPath = '/var/www' but not the servlet directly or appended to /var/www.
This is a two-part question, in that if I could configure jetty logging under gretty, maybe I would see the answer to the 404. Here is code, config and results. Note I have used HTTP: for "http[s]://" since stack overflow limits me:
------------- Servlet excerpts
package com.priot.servlet;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
public class GetNext extends HttpServlet {
private static final Logger log = LogManager.getLogger();
@Override
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
String remoteHost = req.getRemoteHost();
log.info("GetNext GET " + remoteHost);
res.setContentType( "text" );
PrintWriter out = res.getWriter();
out.println("Hello World from GetNext");
out.close();
}
}
--------------- web.xml
<web-app version="2.5" (can't post links) ... /xml/ns/javaee/webapp_2_5.xsd">
<servlet>
<servlet-name>getnext</servlet-name>
<servlet-class>com.priot.servlet.GetNext</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>getnext</servlet-name>
<url-pattern>/getnext</url-pattern>
</servlet-mapping>
</web-app>
---------------- build.gradle
apply plugin: 'java'
apply plugin: 'war'
apply from: 'HTTPS:raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
dependencies {
compile "javax.servlet:servlet-api:2.5"
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.3'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.3'
}
repositories {
mavenCentral()
jcenter()
}
war {
webXml = file('src/web.xml') // copies to WEB-INF/web.xml
}
gretty {
port = 8080
contextPath = '/var/www'
servletContainer = 'jetty9'
}
---------------- run
::: terminal 1
priot proj> gradle appRun :prepareInplaceWebAppFolder UP-TO-DATE :createInplaceWebAppFolder UP-TO-DATE :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :prepareInplaceWebAppClasses UP-TO-DATE :prepareInplaceWebApp UP-TO-DATE :appRun 13:10:18 INFO Jetty 9.2.10.v20150310 started and listening on port 8080 13:10:18 INFO var/www runs at: 13:10:18 INFO HTTP:localhost:8080/var/www Press any key to stop the server.
Building 87% > :appRun
::: terminal 2 - /var/www but no /getnext or /var/www/getnext
priot ~> curl HTTP:localhost:8080/var/www priot ~>
priot ~> curl HTTP:localhost:8080/getnext ... HTTP ERROR: 404 Problem accessing /getnext. Reason: Not Found Powered by Jetty
priot ~> curl HTTP:localhost:8080/var/www/getnext ... HTTP ERROR 404 Problem accessing /var/www/getnext. Reason: Not Found< Powered by Jetty: