gpt4 book ai didi

java - Eclipse GWT Java Tomcat - 上传到托管服务器时出现序列化策略问题

转载 作者:行者123 更新时间:2023-11-28 22:19:39 26 4
gpt4 key购买 nike

我已经使用 Eclipse (4.3.2) 和 GWT 对我的应用程序进行了更改,并在我的本地 Tomcat 上对其进行了测试。但是,当我将它上传到托管服务器时(我进行了完整上传,而不仅仅是我更改的类),当我尝试使用它(登录)时,我在日志中收到以下错误:

INFO: Server startup in 20107 ms
Nov 04, 2014 5:41:33 PM org.apache.catalina.core.ApplicationContext log
INFO: mySQLConnection: ERROR: The serialization policy file '/org.AwardTracker.AwardTracker/C7227FD579DD02DA4BB5B3EBAD09AE79.gwt.rpc' was not found; did you forget to include it in this deployment?
Nov 04, 2014 5:41:33 PM org.apache.catalina.core.ApplicationContext log
INFO: mySQLConnection: WARNING: Failed to get the SerializationPolicy 'C7227FD579DD02DA4BB5B3EBAD09AE79' for module 'http://tc1165.metawerx.com.au/org.AwardTracker.AwardTracker/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result.
Nov 04, 2014 5:41:40 PM org.apache.catalina.core.ApplicationContext log
SEVERE: Exception while dispatching incoming RPC call
com.google.gwt.user.client.rpc.SerializationException: Type 'org.AwardTracker.client.ViewData' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer.For security purposes, this type will not be serialized.: instance = org.AwardTracker.client.ViewData@62066d5c



at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:667)
at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:130)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$ValueWriter$8.write(ServerSerializationStreamWriter.java:153)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:587)
at com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:605)
at com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess(RPC.java:471)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:563)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:265)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:305)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:277)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:309)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:169)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:297)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:191)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:187)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:186)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:277)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:309)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:249)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:191)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:187)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.

java:745)

0 [catalina-exec-12] INFO gwtupload.server.UploadServlet - UPLOAD-SERVLET init: maxSize=3145728, slowUploads=0, isAppEngine=false, corsRegex=^$
2 [catalina-exec-12] INFO gwtupload.server.UploadServlet - UPLOAD-ACTION init: removeSessionFiles=false, removeData=false

我所做的更改是: AccountUpdateView.java 我在其中添加了一个 Label 和一个 TextBox 来显示“Group”(客户端) AccountAndCubs.java 我在其中添加了要在 AccountUpdateView.java(客户端)中显示的新字段(获取和设置) MySQLConnection.java,我在其中将新字段添加到 sql 调用(服务器端)

在我的搜索中,我发现了一些与此相关的信息,建议我添加“static final long serialVersionUID = 1L;”到我更改的类 (AccountUpdateView.java),但我仍然收到此错误。

我注意到这一行:

SEVERE: Exception while dispatching incoming RPC call
com.google.gwt.user.client.rpc.SerializationException: Type 'org.AwardTracker.client.ViewData' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer.For security purposes, this type will not be serialized.: instance = org.AwardTracker.client.ViewData@62066d5c

这表明“ViewData.java”存在问题,我没有更改并且已经存在:

package org.AwardTracker.client;

import java.io.Serializable;

public class ViewData implements Serializable {
private static final long serialVersionUID = 1L;

非常感谢您对此的帮助。另外,我不是很懂技术,还在学习中,所以请耐心等待我并使用简单的语言。


按要求添加:

查看数据代码:

package org.AwardTracker.client;

import java.io.Serializable;

public class ViewData implements Serializable {
private static final long serialVersionUID = 1L;

private String accountId;
private String accountLevel;
private String ymId;
private String awId;
private String adAwardGroup;
private String adScoutGroup;

public ViewData() {
//just here because GWT wants it.
}

public String getaccountId() {
return accountId;
}
public void setaccountId(String accountId) {
this.accountId = accountId;
}

public String getaccountLevel() {
return accountLevel;
}
public void setaccountLevel(String accountLevel) {
this.accountLevel = accountLevel;
}

public String getymId() {
return ymId;
}
public void setymId(String ymId) {
this.ymId = ymId;
}

public String getawId() {
return awId;
}
public void setawId(String awId) {
this.awId = awId;
}

public String getadAwardGroup() {
return adAwardGroup;
}
public void setadAwardGroup(String adAwardGroup) {
this.adAwardGroup = adAwardGroup;
}

public String getadScoutGroup() {
return adScoutGroup;
}
public void setadScoutGroup(String adScoutGroup) {
this.adScoutGroup = adScoutGroup;
}

}

AccountsAndCubs.java 代码(添加了“group”):

package org.AwardTracker.client;

import com.google.gwt.user.client.rpc.IsSerializable;
import java.util.Date;

public class AccountAndCubs implements IsSerializable {

static final long serialVersionUID = 1L;

//@SuppressWarnings("unused")
private String accountId;
//@SuppressWarnings("unused")
private String emailaddress;
//@SuppressWarnings("unused")
private String password;
//@SuppressWarnings("unused")
private String level;
//@SuppressWarnings("unused")
private String pack;
//@SuppressWarnings("unused")
private Integer enabled;
//@SuppressWarnings("unused")
private Date archived;
//@SuppressWarnings("unused")
private String group;
//@SuppressWarnings("unused")
private String acaId;
//@SuppressWarnings("unused")
private String cdId;
//@SuppressWarnings("unused")
private String surname;
//@SuppressWarnings("unused")
private String firstname;

@SuppressWarnings("unused")
private AccountAndCubs() {
//just here because GWT wants it.
}
public AccountAndCubs(String accountId, String emailaddress, String password, String level, String pack,
Integer enabled, Date archived, String group, String acaId, String cdId, String surname, String firstname) {
this.accountId = accountId;
this.emailaddress = emailaddress;
this.password = password;
this.level = level;
this.pack = pack;
this.enabled = enabled;
this.archived = archived;
this.group = group;
this.acaId = acaId;
this.cdId = cdId;
this.surname = surname;
this.firstname = firstname;
}

public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}

public String getEmailAddress() {
return emailaddress;
}
public void setEmailAddress(String emailaddress) {
this.emailaddress = emailaddress;
}

public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}

public String getPack() {
return pack;
}
public void setPack(String pack) {
this.pack = pack;
}

public Integer getEnabled() {
return enabled;
}
public void setEnabled(Integer enabled) {
this.enabled = enabled;
}

public Date getArchived() {
return archived;
}
public void setArchived(Date archived) {
this.archived = archived;
}

public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}

public String getAcaId() {
return acaId;
}
public void setAcaId(String acaId) {
this.acaId = acaId;
}

public String getCdId() {
return cdId;
}
public void setCdId(String cdId) {
this.cdId = cdId;
}

public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}

public String getFirstName() {
return firstname;
}
public void setFirstName(String firstname) {
this.firstname = firstname;
}

}

最佳答案

@IgorKlimer,@ChrisHinshaw 感谢您的帮助。

经过反复试验,我终于可以使用它了。以防万一你想知道(它会在未来帮助你)我:

  1. 从主机的服务器删除了 ROOT.war(要上传,我需要压缩 war 并将压缩文件重命名为 ROOT.war,当我将它上传到主机的服务器时,它会自动拾取并安装)并重新启动

  2. 重新启动后,我上传了我的工作(在我的服务器上)ROOT.war

  3. 重启服务器

  4. 重新启动后,我尝试了该应用程序 - 同样的问题

  5. 出于某种原因,我在主机服务器上升级到 private-cgi-bin 并发现了另一个 ROOT.war,所以我将其删除

  6. 然后我回到 private-cgi-bin/tomcat 并删除了 ROOT.war

  7. 然后我重新启动了服务器

  8. 重新启动后,我就上传了我的 ROOT.war

  9. 上传后我重启了服务器

  10. 重新启动后,我进入 Tomcat 管理器并选择重新加载

  11. 然后我启动了 Chrome 并清除了缓存

  12. 然后我尝试了该应用程序并且它工作了,我检查了我的更改并且它们在那里并且工作,我做了更多的睾丸并检查了系统日志 - 一切正常。

问候,

格林

关于java - Eclipse GWT Java Tomcat - 上传到托管服务器时出现序列化策略问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com