Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 页面始终重定向到错误页面_Java_String_Jsp - Fatal编程技术网

Java 页面始终重定向到错误页面

Java 页面始终重定向到错误页面,java,string,jsp,Java,String,Jsp,我编写了下面的代码来测试msgCode的状态。如果msgCode未成功,则应重定向到error.jsp文件。如果成功了,就应该保持一致。当我运行代码时,页面总是重定向到error.jsp,尽管msgCode是Success。我在代码中犯了什么错误。如果可以的话,你能帮助我吗。先谢谢你 <%@ page import="com.siebel.SurveyWebService.SurveyTester" %> <% SurveyTester tc = new Surv

我编写了下面的代码来测试msgCode的状态。如果msgCode未成功,则应重定向到error.jsp文件。如果成功了,就应该保持一致。当我运行代码时,页面总是重定向到error.jsp,尽管msgCode是Success。我在代码中犯了什么错误。如果可以的话,你能帮助我吗。先谢谢你

 <%@ page import="com.siebel.SurveyWebService.SurveyTester" %>
<%  

   SurveyTester tc = new SurveyTester();
   tc.getResult();
   java.lang.String msgCode = tc.getResult2().getStatusCode(); 

  %>
 <%= msgCode%>
 <%
 if (msgCode.toString() != "Success")
 {    
    response.sendRedirect("error.jsp");
  }
%>


首先,您应该使用equal方法进行字符串比较。其次,尽管目前这不是问题,但您正在jsp中创建对象并伪造响应。tc.getResult2().getStatusCode()不是来自服务器的实际HTTP响应。

是否可能重复伪造响应?怎么用?OP只是打印他从一个方法得到的一个数字,这根本不是伪造响应。如果他真的想看到服务器的实际响应,他不应该这样做。实际的响应代码是由服务器生成的,不应使用此类方法伪造。您假设msgCode是服务器代码:OP从未说过这一点。它没有伪造任何东西,因为OP没有伪造http响应,只是打印了一个数字(如果响应有效,不管他打印的是什么数字,http代码仍然是200)。你可以在网页上打印你想要的任何东西,而且打印一个数字永远不会伪造一个回复。我不这么认为。我在谈论一些惯例和惯例,以及如何以正确的方式做事。对您可以通过忽略实际响应来打印任何您想要的数字,但是如果您想要根据http响应代码(OP假装这样做)做出决策,那么您将不会像此方法那样模拟您的响应。OP不会假装根据http响应代码做出决策。仔细阅读代码
msgCode
是由他调用的方法返回的字符串。这不是http代码。我再说一次:因为OP没有编辑真正的响应代码,所以他没有嘲笑任何东西。模拟是将实际数据更改为一些伪数据的情况:要模拟响应,需要更改响应本身(代码和消息)。OP只是打印了一个字符串,他没有伪造/模仿响应。