コードのクリーン コンパイルが完了し、WAMPServer を使用しています。ただし、Eclipse からコードを実行しようとすると (Run as、GWT アプリケーション)、コンソールに次のエラーが表示されます。
java.lang.NullPointerException
at com.google.gwt.dev.DevMode.validateServletTags(DevMode.java:611)
at com.google.gwt.dev.DevMode.doStartup(DevMode.java:449)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1083)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:836)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)
これは最初の行に関連付けられたコードです (簡潔にするために残りは含めていません。必要な場合はお知らせください)。
"DevMode.java:611"
TreeLogger servletLogger =
logger.branch(TreeLogger.DEBUG, "Validating <servlet> tags for module '" + module.getName()
+ "'", null, new InstalledHelpInfo("servletMappings.html"));
for (String servletPath : servletPaths) {
String servletClass = module.findServletForPath(servletPath);
assert (servletClass != null);
// Prefix module name to convert module mapping to global mapping.
servletPath = "/" + module.getName() + servletPath;
if (servletValidator == null) {
servletWriter.addMapping(servletClass, servletPath);
} else {
servletValidator.validate(servletLogger, servletClass, servletPath);
}
これは私の
AwardTracker.get.xml
<module>
<inherits name="com.google.gwt.user.User"/>
<inherits name="com.google.gwt.user.theme.standard.Standard"/>
<entry-point class="org.AwardTracker.client.AwardTracker"/>
<!-- servelet context - path is arbitrary, but must match up with the rpc init inside java class -->
<!-- Tomcat will listen for this from the server and waits for rpc request in this context -->
<servlet class="org.AwardTracker.server.MySQLConnection" path="/MySQLConnection" />
<inherits name="com.google.gwt.user.theme.standard.Standard"/>
<inherits name="com.google.gwt.user.theme.chrome.Chrome"/>
<inherits name="com.google.gwt.user.theme.dark.Dark"/>
</module>
そして、これは私の
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>AwardTracker.html</welcome-file>
</welcome-file-list>
</web-app>
<servlet>
<servlet-name>mySQLConnection</servlet-name>
<servlet-class>org.AwardTracker.server.MySQLConnection</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mySQLConnection</servlet-name>
<url-pattern>/org.AwardTracker.AwardTracker/MySQLConnection</url-pattern>
</servlet-mapping>
どんな助けでも大歓迎です。
よろしく、
グリン
答えは:
WEB.XML の順序が正しくありませんでした。次のようになっているはずです。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>mySQLConnection</servlet-name>
<servlet-class>org.AwardTracker.server.MySQLConnection</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mySQLConnection</servlet-name>
<url-pattern>/org.AwardTracker.AwardTracker/MySQLConnection</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>AwardTracker.html</welcome-file>
</welcome-file-list>
</web-app>
ありがとうございました、
グリン