Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java restful服务在重新部署后不能正常工作_Java_Rest - Fatal编程技术网

Java restful服务在重新部署后不能正常工作

Java restful服务在重新部署后不能正常工作,java,rest,Java,Rest,我使用java创建了许多web服务,我在Glassfish服务器中部署了它,它工作得很好,但我添加了一些web服务并重新部署,新服务在本地工作时在服务器上不工作,所以我缺少什么?我从Glassfish服务器上删除了旧版本,并再次部署了它,但新服务仍然无法运行,无法找到它 这是web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-i

我使用java创建了许多web服务,我在Glassfish服务器中部署了它,它工作得很好,但我添加了一些web服务并重新部署,新服务在本地工作时在服务器上不工作,所以我缺少什么?我从Glassfish服务器上删除了旧版本,并再次部署了它,但新服务仍然无法运行,无法找到它

这是web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Login</display-name>
    <servlet>
        <servlet-name>Login</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

        <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>test</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Login</servlet-name>
        <url-pattern>/phone/*</url-pattern>
    </servlet-mapping>
</web-app>
下面是我添加的新服务:

@Path("/GetBranchs/")
public class GetBranchs {

    @POST   

    enter code here
    @Produces(MediaType.APPLICATION_JSON )
    public ArrayList<Property> CheckCredentials2(User user)
    {

        ArrayList<Property> lst = new ArrayList<Property>();



        try 
        {
            Class.forName("oracle.jdbc.OracleDriver");

            Connection con=DriverManager.getConnection(  
                    "jdbc:oracle:thin:@10.17.4.78:1521:DBDEV","salim","sal1m321");  

                    //step3 create the statement object  
                    PreparedStatement  stmt=con.prepareStatement("select distinct BRANCHARABICDESC,BRANCHCODE from vw_fulldetails  where STATUSACTIVEINACTIVE='01'");  

                    ResultSet rs=stmt.executeQuery();

                    while(rs.next())
                    {
                        //User usr = new User();
                        //usr.InitUser("","","","",rs.getString(1),rs.getInt(2),"",0,"",0,0,0,0,0);
                        //lst.add(usr);

                        Property prop = new Property(rs.getString(1),rs.getInt(2));
                        lst.add(prop);
                    }
        } catch(Exception e){ System.out.println(e);} 

        return lst;
    }
}

由于它在本地工作,我认为代码在这里没有帮助。您可以检查服务器和应用程序的日志文件吗?有例外吗?您还正在创建war文件吗?你能重命名它.zip并检查它的内容吗?它显示thid错误,服务器遇到了一个内部错误,阻止它完成这个请求,我将文件重命名为.zip,它拥有所有的web服务,现在我以前创建的工作正常,但最近的web服务没有..根本没有堆栈跟踪?当您发出rest请求时,最有可能出现此异常?因为在我看来,servlet似乎已经启动并运行,并且内部出现了一些故障,您是否可以连接到进程并尝试进行远程调试,或者这不是一个选项?另外,您是否可以:1。编辑您的问题并修改服务器的连接属性…oracle的ip、用户名和密码-出于您自己的安全原因…-。2.检查ip、用户名和密码是否正确,以及ip是否可以从该服务器防火墙访问,等等。System.out.printlne;请将其替换为log4j…并记录更多信息,如额外字符串“无法连接到数据库”无堆栈,通常当我提供错误链接时会发生此问题,表明此服务不存在,是否可能是因为cash mem保留了旧版本?我没有太多的经验,实际上,调试不是一个选项,因为它在本地工作没有问题