问题描述
gwt是整合stuts2的,配置文件:<struts>... <action name="UploadService" class="struts.action.UploadServiceAction"> <interceptor-ref name="gwt"/> </action></struts>前端是网上找的,但是不用servlet配置,用的rpc,出错提示:[WARN] Exception while dispatching incoming RPC calljavax.servlet.ServletException: Content-Type was 'multipart/form-data; boundary=---------------------------7da2b21d9075a'. Expected 'text/x-gwt-rpc'.at com.google.gwt.user.server.rpc.RPCServletUtils.checkContentType(RPCServletUtils.java:366)at com.google.gwt.user.server.rpc.RPCServletUtils.readContentAsUtf8(RPCServletUtils.java:172)at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.readContent(AbstractRemoteServiceServlet.java:179)at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:217)at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at com.googlcode.strut2gwtplugin.interceptor.GWTInterceptor.intercept(GWTInterceptor.java:49)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.Server.handle(Server.java:324)at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)求解答啊~~~~~~~
解决方案
requestBuilder.setHeader("Content-Type", "text/x-gwt-rpc; charset=utf-8");否则gwt不处理的
解决方案二:
Content-Type 必须是 text/x-gwt-rpc