I am working on a project and I am trying to create a server that listens for localhost address on port 8082 (I already have 8081 with another server)
public class Class2HTTPServer { public static void main(String[] args) { Class1 object1= new Class1 (300);
This is the ComponentHTTPServerUtility class:
import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.AbstractHandler; public class ComponentHTTPServerUtility { public static boolean createServer(int port, AbstractHandler handler) { Server server = new Server(port); if (handler != null) { server.setHandler(handler); } try { server.start(); server.join(); } catch (Exception ex) { ex.printStackTrace(); } return true; } public static boolean createServer(String ipAddress, int port, AbstractHandler handler) { InetAddress inetIpAddress; InetSocketAddress address; Server server; if (ipAddress == null) return false; try { inetIpAddress = InetAddress.getByName(ipAddress); address = new InetSocketAddress(inetIpAddress, port); } catch (UnknownHostException ex) { ex.printStackTrace(); return false; } server = new Server(address); if (handler != null) { server.setHandler(handler); } try { server.start(); server.join(); } catch (Exception ex) { ex.printStackTrace(); } return true; } }
When the server starts, I get the following message in the console:
2015-01-19 13:13:49.451:INFO:oejs.Server:jetty-8.1.13.v20130916 2015-01-19 13:13:49.501:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0 :8082
But if I go with my browser to: http: // localhost: 8082 /
I get Error 404. However, if I do the same with another server (port 8081), I get a blank page indicating that the server is running.
Sorry, but I canโt fit in anymore. Any thoughts or suggestions would be greatly appreciated. I'm stuck in this for hours.
thanks
EDIT:
These are the results that I get for both servers after inserting a row:
System.err.println (server.dump ());
Working:
2015-01-19 15:37:05.600:INFO:oejs.Server:jetty-8.1.13.v20130916 2015-01-19 15:37:05.651:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0 :8081 org.eclipse.jetty.server.Server@2090b38d - STARTED +- com.project.server.Class1HTTPMessageHandler@35f3198f - STARTED | +- qtp831407528{8<=6<=8/254,0} - STARTED | +- 10 qtp831407528-10 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 11 qtp831407528-11 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 12 qtp831407528-12 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 13 qtp831407528-13 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 14 qtp831407528-14 Acceptor0 SelectChannelConnector@0.0.0.0 :8081 RUNNABLE @ sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) | +- 15 qtp831407528-15 Selector0 RUNNABLE @ sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) | +- 16 qtp831407528-16 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 17 qtp831407528-17 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- SelectChannelConnector@0.0.0.0 :8081 - STARTED +- PooledBuffers [0/ 1024@6144 ,0/ 1024@16384 ,0/ 1024@- ]/PooledBuffers [0/ 1024@6144 ,0/ 1024@32768 ,0/ 1024@- ] - STARTED +- org.eclipse.j etty.server.nio.SelectChannelConnector$ConnectorSelectorManager@ 42557280 - STARTED | +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet@77d05385 keys=0 selected=0 id=0 | +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:569) | +- sun.nio.ch.WindowsSelectorImpl@4611dca9 keys=0 +- sun.nio.ch.ServerSocketChannelImpl[/0:0:0:0:0:0:0:0:8081] +- qtp831407528{8<=6<=8/254,0} - STARTED
And this is from idle:
2015-01-19 15:37:23.231:INFO:oejs.Server:jetty-8.1.13.v20130916 2015-01-19 15:37:23.280:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0 :8082 org.eclipse.jetty.server.Server@183c97db - STARTED +- com.project.server.Class2HTTPMessageHandler@33767f84 - STARTED | +- qtp597321988{8<=6<=8/254,0} - STARTED | +- 10 qtp597321988-10 Selector0 RUNNABLE @ sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) | +- 11 qtp597321988-11 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 12 qtp597321988-12 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 13 qtp597321988-13 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 14 qtp597321988-14 Acceptor0 SelectChannelConnector@0.0.0.0 :8082 RUNNABLE @ sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) | +- 15 qtp597321988-15 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 16 qtp597321988-16 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- 17 qtp597321988-17 TIMED_WAITING @ sun.misc.Unsafe.park(Native Method) IDLE | +- SelectChannelConnector@0.0.0.0 :8082 - STARTED +- PooledBuffers [0/ 1024@6144 ,0/ 1024@16384 ,0/ 1024@- ]/PooledBuffers [0/ 1024@6144 ,0/ 1024@32768 ,0/ 1024@- ] - STARTED +- org.eclipse.j etty.server.nio.SelectChannelConnector$ConnectorSelectorManager@ 7f39425c - STARTED | +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet@833e745 keys=0 selected=0 id=0 | +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:569) | +- sun.nio.ch.WindowsSelectorImpl@32787e9f keys=0 +- sun.nio.ch.ServerSocketChannelImpl[/0:0:0:0:0:0:0:0:8082] +- qtp597321988{8<=6<=8/254,0} - STARTED
Primary Handler Declaration:
public class Class2HTTPMessageHandler extends AbstractHandler{ private Class2 object= null; public Class2HTTPMessageHandler(Class2 obj){ object= obj; } @SuppressWarnings("unchecked") public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { MessageTag messageTag; String requestURI; Response fieldResponse = null; response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); requestURI = request.getRequestURI(); if (!ComponentUtility.isEmpty(requestURI) && requestURI.toLowerCase().startsWith("/stock")) { messageTag = ComponentUtility.convertURItoMessageTag(requestURI .substring(6));
I try to send a message tag to the server, and this exception I get:
2015-01-19 18:16:43.739:WARN:oejs.AbstractHttpConnection:/MESSAGETAG java.lang.NullPointerException at com.project.business.Class2.functionFoo(Class2.java:98) at com.project.server.Class2HTTPMessageHandler.handle(Class2HTTPMessageHandler.java:69) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:745)