Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t在JSP中实现简单的自定义图标谷歌地图示例_Java_Javascript_Jsp_Google Maps Api 3_Jetty - Fatal编程技术网

Java Can';t在JSP中实现简单的自定义图标谷歌地图示例

Java Can';t在JSP中实现简单的自定义图标谷歌地图示例,java,javascript,jsp,google-maps-api-3,jetty,Java,Javascript,Jsp,Google Maps Api 3,Jetty,当我尝试在Jetty服务器上用jsp实现以下简单示例时:我得到一个java.io.UTFDataFormatException,并且地图上没有显示任何图标 产生错误的代码段是: var image='images/beachflag.png'; var mylatng=new google.maps.LatLng(-33.890542151.274856); var beachMarker=new google.maps.Marker({ 职位:myLatLng, 地图:地图, 图标:图像 })

当我尝试在Jetty服务器上用jsp实现以下简单示例时:我得到一个java.io.UTFDataFormatException,并且地图上没有显示任何图标 产生错误的代码段是:

var image='images/beachflag.png';
var mylatng=new google.maps.LatLng(-33.890542151.274856);
var beachMarker=new google.maps.Marker({
职位:myLatLng,
地图:地图,
图标:图像
});
如果我像下面那样注释掉标记的图标变量,那么一切都正常

var image='images/beachflag.png';
var mylatng=new google.maps.LatLng(-33.890542151.274856);
var beachMarker=new google.maps.Marker({
职位:myLatLng,
地图:地图
});
当然,标准的谷歌标记会显示出来,而不是我想要的自定义图标

这是我使用jetty maven插件9.2.10.v20150310的stacktrace:

[INFO] Started Jetty Server
2015-04-23 19:32:35.640:WARN:oejs.ServletHandler:qtp1142653826-19: 
org.apache.jasper.JasperException: Unable to compile class for JSP
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:579)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
    at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:107)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:745)
Caused by: 
java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.
    at org.apache.jasper.xmlparser.UTF8Reader.invalidByte(UTF8Reader.java:621)
    at org.apache.jasper.xmlparser.UTF8Reader.read(UTF8Reader.java:486)
    at org.apache.jasper.xmlparser.XMLEncodingDetector.load(XMLEncodingDetector.java:961)
    at org.apache.jasper.xmlparser.XMLEncodingDetector.skipString(XMLEncodingDetector.java:916)
    at org.apache.jasper.xmlparser.XMLEncodingDetector.scanXMLDecl(XMLEncodingDetector.java:1164)
    at org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:116)
    at org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:104)
    at org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:304)
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:183)
    at org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:117)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:194)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
    at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:107)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:113)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:745)
提前感谢您的指点


编辑:更改了最新jetty server 9.2.10生成的stacktrace。v20150310

您必须修改图像路径或将图标上载到自己的服务器

如果看不到标记,则可能找不到图像

它们使用相对URL
“images/beachflag.png”
,在示例中指向:

https://google-developers.appspot.com/maps/documentation/javascript/examples/full/images/beachflag.png 


函数初始化(){
var mylatng=new google.maps.LatLng(-33.890542151.274856);
var map=new google.maps.map(document.getElementById(“地图画布”){
中心:myLatLng,
缩放:10
});
var图像处理https://google-developers.appspot.com/maps/documentation/javascript/examples/full/images/beachflag.png';
var beachMarker=new google.maps.Marker({
职位:myLatLng,
地图:地图,
图标:图像
});
}
google.maps.event.addDomListener(窗口“加载”,初始化)
html{
身高:100%
}
身体{
身高:100%;
保证金:0;
填充:0
}
#地图画布{
身高:100%
}


谢谢。我将其更改为最新的稳定版本,仍然存在相同的问题。虽然stacktrace有点变化,但我已经更新了。谢谢。虽然我已经确定可以找到图像,但它在我的服务器上。例如,当我更改文件名以便找不到图像时,没有长时间的异常。但我得到了以下短错误:
[INFO]启动Jetty Server 2015年4月23日8:31:04 PM org.apache.jasper.servlet.JspServlet服务jspfile严重:PWC6117:File“C%3A%5customers%5cfedinand%5Cprojects%5Cspring-hibernate-20120924%5Csrc%5Cmain%5Cwebapp%5Cview%5Cmap%5cmimages%5CbeachflagXx.png”找不到