Ich bin ein Neuling bei der Web-Entwicklung und bei der Verwendung von Embedded Jetty. Der unten dargestellte Quellcode wird mit der Eclipse IDE entwickelt. Ich muss den Jetty-Server programmatisch starten, ich habe keine Möglichkeit, ihn über die Kommandozeile zu starten. Es muss ein extrem leichtes Web-Interface sein, da es von einem System mit geringer Speicher-/Verarbeitungsgeschwindigkeit gestartet wird.mit embedded Jetty zum Erstellen einer Web-Schnittstelle
ich die folgende Verzeichnisstruktur in ECLIPSE
JettyExample <Project>
src
sample_package
HelloWorld.java
WEB-INF
index.html
web.xml
Der Quellcode von HelloWorld.java
public static void main(String[] args) throws Exception
{
Server server = new Server(8080);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setResourceBase(args.length == 2?args[1]:".");
resource_handler.setWelcomeFiles(new String[]{ "WEB-INF/index.html" });
System.out.println("serving " + resource_handler.getBaseResource());
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
}
index.html ist
<html>
<head>
<title>HTML Generator Sample Page</title>
</head>
<body>
<h1 style="text-align: center;">
Agent Management Interface</h1>
<ol>
<li>
Start Platform</li>
<li>
Show Agent Status</li>
<li>
Create Dummy Agent</li>
<li>
Intiate Request Message</li>
<li>
Stop agent</li>
<li>
Stop Platform</li>
</ol>
<p>
Enter option :</p>
<p>
<textarea cols="10" name="myTextBox" rows="1" style="width: 104px; height: 25px;"></textarea></p>
<p>
<input name="option_selector" type="submit" value="option_selector" /></p>
</body>
entwickelt haben Die Datei web.xml ist die übliche Datei mit einer Liste von Begrüßungsdateien. wenn ich den Server laufen lasse und localhost: 8080 im Webbrowser starte, bekomme ich einen 404 Fehler Ich bin mir nicht sicher, was ich der web.xml Datei hinzufügen oder den Verweis der web.xml Datei hinzufügen muss ist in der Hauptmethode HelloWorld.java nicht korrekt.
Irgendwelche Hinweise/werden Vorschläge hilfreich sein EDIT 1:
Ich bin auch der Server-api.jar-Datei und der jetty.jar-Datei im Classpath und machen nicht für Eklipse des Maven Plugin.
EDIT2:
2012-05-25 14:40:39.253:DBUG:oejs.AsyncHttpConnection:async request (null null)@17160330 [email protected]
2012-05-25 14:40:39.260:DBUG:oejs.Server:REQUEST/on org.eclipse.jett[email protected][email protected]:8080<->127.0.0.1:55062
2012-05-25 14:40:39.264:DBUG:oejs.Server:RESPONSE/200
2012-05-25 14:40:39.267:DBUG:oejs.AsyncHttpConnection:async request (null null)@17160330 [email protected]
2012-05-25 14:40:39.272:DBUG:oejs.AsyncHttpConnection:async request (null null)@17160330 [email protected]
2012-05-25 14:40:39.273:DBUG:oejs.Server:REQUEST /jetty-dir.css on org.eclipse.jett[email protected][email protected]:8080<->127.0.0.1:55062
2012-05-25 14:40:39.275:DBUG:oejs.Server:RESPONSE /jetty-dir.css 404
Wenn Sie den gesamten Pfad der Datei eingeben, ist es immer noch Fehler für Sie? – BOSS
@abhishek bose Ich kann die Verzeichnisstruktur sehen, nur wenn ich localhost: 8080/src/WEB-INF ich kann die HTML-Seite von der index.html Seite – bhavs