Je suis nouveau dans Jetty, j'ai essayé d'exécuter le programme exemple ici " http://www.codeproject.com/Articles/128145/Run-Jetty-Web-Server-Within-Your-Application " mais j'ai un message d'erreur sur ma page " http: // localhost: 8585/runJetty/ "
"HTTP ERROR: 503
Problem accessing /runJetty/. Reason:
Service Unavailable
--------------------------------------------------------------------------------
Powered by Jetty:// "
Journal d'erreur que je reçois d'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:FATAL@file:/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
Mon fichier 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>
Mon fichier JSP
<%@ 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>
En fait, j'ai résolu le problème. Je le lance par le plugin Eclipse Jetty.
Je n'avais pas la librairie JDK dans mon Eclipse, c'est pourquoi le message ne cesse de montrer que le JDK complet doit être installé, c'est la raison principale.
J'ai installé deux versions de jetty plugin, qui sont jetty7 et jetty8. Je pense qu'ils sont en conflit les uns avec les autres ou quelque chose comme ça, alors j'ai enlevé la jetée7, et ça marche!
2012-04-20 11: 14: 32.617: WARN: oejx.XmlParser: FATAL @ fichier:/C:/Utilisateurs/***/workspace/Test/WEB-INF/web.xml ligne: 1 col: 7: org .xml.sax.SAXParseException: la cible d'instruction de traitement correspondant à "[xX] [mM] [lL]" n'est pas autorisée.
Votre journal indique que votre fichier web.xml est mal formé. Ligne 1, colonne 7. Il peut s'agir d'un UTF-8 Byte-Order-Marker
Essayez de vérifier que votre XML est bien formé et qu’il n’a pas de nomenclature. Java n'utilise pas de nomenclatures.
Aucune de ces réponses n'a fonctionné pour moi.
J'ai dû supprimer toutes les applications Web Java déployées:
Puis lancez le projet sur le serveur
L'erreur est partie!
Vous devrez arrêter le serveur avant de déployer un autre projet, car celui-ci ne le trouvera pas. Sinon, vous obtiendrez une erreur 404
Apprendre à utiliser servlet vs swing vous aidera .. Obtenez les données de 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();
}
Obtenir des données des gestionnaires HttpServet:
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);
}
}
}
}
}
}
}
plus de détails sur http://writeulearn.com/jetty-handler-swing-handler-differences/
J'ai eu le même problème. Je l'ai résolu en supprimant le saut de ligne du fichier XML. J'ai fait
<operationBindings>
<OperationBinding>
<operationType>update</operationType>
<operationId>makePdf</operationId>
<serverObject>
<className>com.myclass</className>
<lookupStyle>new</lookupStyle>
</serverObject>
<serverMethod>makePdf</serverMethod>
</OperationBinding>
</operationBindings>
au lieu de ...
<serverObject>
<className>com.myclass
</className>
<lookupStyle>new</lookupStyle>
</serverObject>
Supprimer/Supprimer le projet de l'espace de travail. et réimportez le projet dans l'espace de travail . Cette méthode a fonctionné pour moi.