Java restful服务在重新部署后不能正常工作
我使用java创建了许多web服务,我在Glassfish服务器中部署了它,它工作得很好,但我添加了一些web服务并重新部署,新服务在本地工作时在服务器上不工作,所以我缺少什么?我从Glassfish服务器上删除了旧版本,并再次部署了它,但新服务仍然无法运行,无法找到它 这是web.xml文件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
<?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保留了旧版本?我没有太多的经验,实际上,调试不是一个选项,因为它在本地工作没有问题