我正在进行一个小型GWT项目,每次在开发模式下运行时都会出现此错误。
HTTP ERROR: 503
Problem accessing /Segnalazioni_Degrado.html. Reason:
SERVICE_UNAVAILABLE
--------------------------------------------------------------------------------
Powered by Jetty://
这些是我创建的服务类:DataLayerService,DataLayerServiceAsync,DataLayerImpl
package com.tesi.client;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("dataLayer")
public interface DataLayerService extends RemoteService {
List<Segnalazione> getListaSegnalazioniAttivePerMappa();
}
package com.tesi.client;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback;
public interface DataLayerServiceAsync {
void getListaSegnalazioniAttivePerMappa(AsyncCallback<List<Segnalazione>> callback);
}
package com.tesi.server;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.tesi.client.DataLayerService;
import com.tesi.client.Segnalazione;
public class DataLayerServiceImpl extends RemoteServiceServlet implements
DataLayerService {
@Override
public List<Segnalazione> getListaSegnalazioniAttivePerMappa() {
// TODO Auto-generated method stub
List<Segnalazione> listaSegnalazioniAttive= new ArrayList<Segnalazione>();
try {
Connection con = ConnectionPool.getInstance().getConnection();
Statement stmt = con.createStatement();
ResultSet segnalazioniAttive = stmt
.executeQuery("SELECT * FROM SEGNALAZIONI_ATTIVE");
while(segnalazioniAttive.next()) {
//popolo gli oggetti segnalazione
Segnalazione s = new Segnalazione();
s.setCategoria(segnalazioniAttive.getString("categoria"));
s.setData(segnalazioniAttive.getDate("data"));
s.setDescrizione(segnalazioniAttive.getString("descrizione"));
s.setIndirizzo(segnalazioniAttive.getString("indirizzo"));
s.setNum_civico(segnalazioniAttive.getInt("numero_civico"));
listaSegnalazioniAttive.add(s);
}
} catch (Exception ex) {
}
return listaSegnalazioniAttive;
}
}
这就是我修改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>greetServlet</servlet-name>
<servlet-class>com.tesi.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/segnalazioni_degrado/greet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>dataLayerServlet</servlet-name>
<servlet-class>com.tesi.server.DataLayerServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dataLayerServlet</servlet-name>
<url-pattern>/segnalazioni_degrado/dataLayer</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>Segnalazioni_Degrado.html</welcome-file>
</welcome-file-list>
</web-app>
您是否有任何线索如何解决?
答案 0 :(得分:3)
对不起大家,这是一个愚蠢的错误。 我只需要从web.xml中删除GreetServlet,因为这只是一个示例servlet。
无论如何,谢谢你。
答案 1 :(得分:0)
尝试更改此
@RemoteServiceRelativePath( “数据层”)
进入这个
@RemoteServiceRelativePath( “/ segnalazioni_degrado /数据层”)
如果这不起作用,请发布服务器错误日志