Gretty 'hello' servlet giving 404 (jetty9) - and no jetty logging

884 Views Asked by At

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:

0

There are 0 best solutions below