主要的问题是,一旦我将servlet上传到我得到的某个虚拟主机服务器上,就无法在网络服务器上找到它,而它在托管模式下使用嵌入式码头发现它一切都很好而花花公子
我无法真正检查主机上的完整tomcat设置,但它确实存在,因为有些.jsp测试文件在那里运行良好,除非有一些我不确定的东西缺失
当直接进入servlet的路径时,在托管模式下它会执行
此URL不支持HTTP方法GET,
而网络服务器上只有404
的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
<!-- Servlets -->
<servlet>
<servlet-name>retailQuery</servlet-name>
<servlet-class>com.retail.report.server.DBConnectionServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>retailQuery</servlet-name>
<url-pattern>/retailreport/retailQuery</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>RetailReport.html</welcome-file>
</welcome-file-list>
</web-app>
RetailReport.gwt.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='retailreport'>
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<!-- Specify the app entry point class. -->
<entry-point class='com.retail.report.client.RetailReport'/>
<servlet class="com.retail.report.server.DBConnectionServiceImpl"
path="/retailQuery" />
DBConnectionServiceImpl:
package com.retail.report.client;
import java.util.ArrayList;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("retailQuery")
public interface DBConnectionService extends RemoteService {
public ArrayList<SalesEntry> dayOfWeekQuery(String hier);
public ArrayList<SalesEntry> weekQuery(String hier);
}
据我所知,当看到类似的servlet未被发现的问题时,一切似乎都是正常的,我唯一不能100%检查的是我不知道的任何tomcat设置需要设置,因为它是webhost上的一些共享tomcat服务器,我不能改变自己的任何东西(虽然可能会问主机是否有实际需要更改的东西)
答案 0 :(得分:1)
主机上 tomcat / lib 文件夹中的内容是什么? GWT可能假定托管模式下有一些库可用,但部署版本的主机库中缺少这些库。只需确保所有必需的.jar文件都在 classes 或 lib 中的war文件中。