2012-04-20 13 views
12

Sono nuovo di Jetty, ho cercato di eseguire il programma di esempio qui "http://www.codeproject.com/Articles/128145/Run-Jetty-Web-Server-Within-Your-Application" ma ho ottenuto il messaggio di errore sulla mia pagina "http://localhost:8585/runJetty/"Jetty: HTTP ERROR: 503/Servizio non disponibile

"HTTP ERROR: 503 
Problem accessing /runJetty/. Reason: 
    Service Unavailable 
-------------------------------------------------------------------------------- 
Powered by Jetty:// " 

errore LOG che ricevo da Eclipse:

2012-04-20 11:14:32.522:INFO:oejs.Server:jetty-8.1.3.v20120416 
2012-04-20 11:14:32.617:WARN:oejx.XmlParser:[email protected]:/C:/Users/***/workspace/Test/WEB-INF/web.xml line:1 col:7 : org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed. 
2012-04-20 11:14:32.617:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/runJetty,file:/C:/Users/***/workspace/Test/} 
org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed. 
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) 
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) 
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
at javax.xml.parsers.SAXParser.parse(Unknown Source) 
at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:199) 
at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:215) 
at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:60) 
at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:143) 
at org.eclipse.jetty.webapp.MetaData.setWebXml(MetaData.java:165) 
at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:55) 
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:417) 
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:453) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) 
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) 
at org.eclipse.jetty.server.Server.doStart(Server.java:262) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
at blog.runjetty.server.JettyServer.start(JettyServer.java:22) 
at blog.runjetty.ui.listener.ServerStartStopActionListner.actionPerformed(ServerStartStopActionListner.java:38) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$000(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 
2012-04-20 11:14:32.648:INFO:oejs.AbstractConnector:Started [email protected]:8585 

mio file xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
version="2.4"> 
    <welcome-file-list> 
     <welcome-file>page/index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

mio JSP fil e

<%@ page language="java" contentType="text/html; charset=ISO-8859-1 pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01  Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <title>Embedding Jetty</title> 
    </head> 
    <body> 
     <h2>Running Jetty web server from our application!!</h2> 
    </body> 
</html> 
+0

Inserisci web.xml –

+0

ripristinati alla domanda iniziale. Se hai un'altra domanda, ti preghiamo * di non sostituirla con quella. Basta fare una nuova domanda. Inoltre, se la risposta ti ha aiutato a risolvere il problema, ti preghiamo di accettarlo facendo clic sul segno di spunta. –

risposta

4

In realtà, ho risolto il problema. Lo eseguo tramite il plugin di Eclipse Jetty.

  1. non avevano la lib JDK nella mia eclissi, è per questo che il messaggio di tenere mostrando che ho bisogno installato il JDK completo, questa è la ragione principale.

  2. Ho installato due versioni del plugin jetty, che è jetty7 e jetty8. Penso che siano in conflitto tra loro o qualcosa del genere, quindi ho rimosso il molo7 e funziona!

+0

Ho avuto un problema un po 'simile, per alcuni motivi (ora sconosciuti) che avevo aggiunto tomcat jasper-compiler nel mio pom per una configurazione di test e mi chiedevo perché non si avviava con la stessa configurazione normalmente. Lo ha tolto e ha funzionato come un fascino in seguito. – Martin

7

2012-04-20 11:14:32.617:WARN:oejx.XmlParser:[email protected]:/C:/Users/***/workspace/Test/WEB-INF/web.xml line:1 col:7 : org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.

si accede dice, che si web.xml non è valido. Linea 1, colonna 7. Può essere un UTF-8 Byte-Order-Marker

Provare a verificare che il proprio xml sia ben formato e che non disponga di una distinta base. Java non usa le BOM.

+0

Senza il web.xml nessuno può aiutarti. –

+0

Ho inserito entrambi i miei file xml e jsp, grazie! – huao

+0

@huao se la sua risposta ha aiutato, dovresti accettarlo. Colpire il segno di spunta. – sharakan

0

Ho avuto lo stesso problema. L'ho risolto rimuovendo l'interruzione di riga dal file xml. Ho fatto

<operationBindings> 
    <OperationBinding> 
     <operationType>update</operationType> 
     <operationId>makePdf</operationId> 
     <serverObject> 
      <className>com.myclass</className> 
      <lookupStyle>new</lookupStyle> 
     </serverObject> 
     <serverMethod>makePdf</serverMethod> 
    </OperationBinding> 
</operationBindings> 

invece di ...

<serverObject> 
      <className>com.myclass 
</className> 
      <lookupStyle>new</lookupStyle> 
</serverObject> 
1

Nessuna di queste risposte ha lavorato per me.

ho dovuto togliere tutti distribuiti applicazione Java Web:

  • di Windows/Mostra vista/Altro ...
  • Vai alla cartella del server e selezionare "Server"
  • destro del mouse sul J2EE Anteprima localhost
  • Clicca per aggiungere e rimuovere ... Fare clic su Rimuovi tutto

Quindi eseguire il progetto sul server

L'errore è passato!

È necessario arrestare il server prima di distribuire un altro progetto perché non verrà rilevato dal server. In caso contrario, verrà visualizzato un errore 404

0

Rimuovi/Elimina il progetto dall'area di lavoro. e Reimportare il progetto nello spazio di lavoro. Questo metodo ha funzionato per me.

0

Imparare servlet vs swing aiuterà. Ottenere i dati dallo swing api:

@POST 
@Path(“/e”) 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_JSON) 

public Response api1(String requestJson, public Response api1(String requestJson,         @Context HttpHeaders httpHeaders) 

{ 

String h1 = httpHeaders.getHeaderString(“h1”); 

switch (h1) { 

case “1”: { 

if (h1 != null) { 

if (validateJsonSyntax(requestJson)) { 

ObjectMapper objectMapper = new ObjectMapper();        try { 

Object1 obj = objectMapper.readValue(requestJson, json1.class);  return Response.status(Response.Status.ACCEPTED).build();        } 

catch (Exception e) { 

return Response.status(Response.Status.BAD_REQUEST).build();        } 

} 

} 
} 
break; 

default:   {   }   break; 
}  return Response.status(Response.Status.BAD_REQUEST).build(); 

} 

ottenere i dati da HttpServet gestori:

public class c1 extends HttpServlet { 

@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 

//super.doPost(request, response); 

String h1 = request.getHeader(“h1”); 
String h2 = request.getHeader(“h2”); 

switch (h1) { 

case “one”: { 

if (h2 != null) { 
InputStream inStrReqBody = request.getInputStream(); 
if (inStrReqBody != null) { 
String strReqBody = IOUtils.toString(inStrReqBody, 
request.getCharacterEncoding()); 
if (validateJsonSyntax(strReqBody)) { 
ObjectMapper objectMapper = new ObjectMapper(); 
try { 
Object1 obj1 = objectMapper.readValue(strReqBody, VNFCatalogResponse.class); 
response.setStatus(HttpServletResponse.SC_ACCEPTED); 
} catch (Exception e) { 
\ 
response.setStatus(HttpServletResponse.SC_BAD_REQUEST); 

} 
} 
} 
} 
} 

} 
} 

più dettagli a http://writeulearn.com/jetty-handler-swing-handler-differences/