1

我有一个正在进行的小型 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>

你有任何线索如何解决它吗?

4

2 回答 2

3

对不起大家,这是一个愚蠢的错误。我只需要从 web.xml 中删除 GreetServlet,因为这只是一个示例 servlet。

还是非常感谢。

于 2013-08-14T16:15:38.770 回答
0

尝试改变这个

@RemoteServiceRelativePath("dataLayer")

进入这个

@RemoteServiceRelativePath("/segnalazioni_degrado/dataLayer")

如果这不起作用,请发布服务器错误日志

于 2013-08-13T19:44:48.190 回答