diff --git a/README.md b/README.md
index fb0a7b6..774cc01 100644
--- a/README.md
+++ b/README.md
@@ -165,13 +165,19 @@ On Windows:
You should now see something similar to:
:::term
- 2011-08-18 15:52:24.066:INFO::jetty-7.4.5.v20110725
- 2011-08-18 15:52:24.142:INFO::started o.e.j.s.ServletContextHandler{/,null}
- 2011-08-18 15:52:24.168:INFO::Started SelectChannelConnector@0.0.0.0:5000 START
+ 2012-01-26 23:16:56.678:INFO:oejs.Server:jetty-7.5.4.v20111024
+ 2012-01-26 23:16:56.886:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/.../src/main/webapp/},src/main/webapp
+ 2012-01-26 23:16:56.939:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:5000 STARTING
Open the app in your browser:
[http://localhost:5000](http://localhost:5000)
+
+ If you see this error "org.apache.jasper.JasperException: java.err.nojdk" on windows (You must have JAVA_HOME pointing to JDK PATH), try this:
+ $ set PATH=%JAVA_HOME%\bin;%PATH%
+ $ set PORT=5000
+ $ target\bin\webapp.bat
+
## Declare Process Types With Procfile
diff --git a/pom.xml b/pom.xml
index e1ca90a..4224bc0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,18 +6,30 @@
com.example
1.0-SNAPSHOT
helloworld
+
+
- org.eclipse.jetty
- jetty-servlet
- 7.4.5.v20110725
+ org.eclipse.jetty.aggregate
+ jetty-webapp
+ 7.5.4.v20111024
+
+
- javax.servlet
- servlet-api
- 2.5
+ org.eclipse.jdt.core.compiler
+ ecj
+ 3.7.1
+
+
+
+
+ org.glassfish.web
+ jsp-impl
+ 2.1.3-b10
+
diff --git a/src/main/java/HelloWorld.java b/src/main/java/HelloWorld.java
index e04cc7c..f0f5034 100644
--- a/src/main/java/HelloWorld.java
+++ b/src/main/java/HelloWorld.java
@@ -1,24 +1,30 @@
import java.io.IOException;
+
import javax.servlet.ServletException;
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.servlet.*;
+import org.eclipse.jetty.webapp.WebAppContext;
public class HelloWorld extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
- resp.getWriter().print("Hello from Java!\n");
+ String name = req.getParameter("name");
+ req.setAttribute("name", name == null ? "JSP" : name);
+
+ // Forward to JSP
+ req.getRequestDispatcher("hello.jsp").forward(req, resp);
}
public static void main(String[] args) throws Exception{
Server server = new Server(Integer.valueOf(System.getenv("PORT")));
- ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
- context.setContextPath("/");
- server.setHandler(context);
- context.addServlet(new ServletHolder(new HelloWorld()),"/*");
+ server.setHandler(new WebAppContext("src/main/webapp", "/"));
server.start();
server.join();
}
+
}
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..c0e1728
--- /dev/null
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,16 @@
+
+
+
+ HelloWorld Application
+
+
+ HelloWorldServlet
+ HelloWorld
+
+
+
+ HelloWorldServlet
+ /
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/hello.jsp b/src/main/webapp/hello.jsp
new file mode 100644
index 0000000..23f4971
--- /dev/null
+++ b/src/main/webapp/hello.jsp
@@ -0,0 +1 @@
+Hello <%=request.getAttribute("name")%>
\ No newline at end of file