Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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 自定义服务器错误代码spring MVC和tomcat_Java_Tomcat_Servlets_Spring Mvc_Custom Error Handling - Fatal编程技术网

Java 自定义服务器错误代码spring MVC和tomcat

Java 自定义服务器错误代码spring MVC和tomcat,java,tomcat,servlets,spring-mvc,custom-error-handling,Java,Tomcat,Servlets,Spring Mvc,Custom Error Handling,我正在编写一个webapp,它应该能够处理以下请求: 本地主机:8080/WeddingApp/report?tid=1 我希望在服务器收到以下请求的情况下: 本地主机:8080/WeddingApp/report 本地主机:8080/WeddingApp/report?tid= 发出错误404/500而不是默认的400。不仅要更改错误400重定向到的页面,还要更改从服务器检索到的错误代码 如何才能做到这一点 谢谢:在代码查找请求参数tid的地方,将响应状态设置为所需代码,如下所示: respo

我正在编写一个webapp,它应该能够处理以下请求: 本地主机:8080/WeddingApp/report?tid=1

我希望在服务器收到以下请求的情况下: 本地主机:8080/WeddingApp/report 本地主机:8080/WeddingApp/report?tid=

发出错误404/500而不是默认的400。不仅要更改错误400重定向到的页面,还要更改从服务器检索到的错误代码

如何才能做到这一点


谢谢:

在代码查找请求参数tid的地方,将响应状态设置为所需代码,如下所示:

response.setStatus(404);
其中response是来自servlet类的HttpServletResponse:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletExample extends HttpServlet {
  private void doGetOrPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // ~~~ your code snippet ~~~
    String value = request.getParameter("tid");
    if (value == null) {
        response.setStatus(404);
    } else {
        // do something
    }
  }
}

我正在使用带有@RequestMapping注释的multistream控制器。我的代码实际上看起来如下:@RequestMappingreport public String reportModel,@RequestParamrequired=false Integer tid{…}概念是一样的-HttpServletResponse对象在Spring中仍然可以访问-如何操作它取决于您。