Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 如何从自定义Struts RequestProcessor类重定向?_Java_Jsp_Jakarta Ee_Model View Controller_Struts - Fatal编程技术网

Java 如何从自定义Struts RequestProcessor类重定向?

Java 如何从自定义Struts RequestProcessor类重定向?,java,jsp,jakarta-ee,model-view-controller,struts,Java,Jsp,Jakarta Ee,Model View Controller,Struts,我正在开发一个Struts应用程序。我只需要允许POST方法请求调用action类 为此,我编写了自定义的RequestProcess类并重写了processPreprocess方法: @Override protected boolean processPreprocess(HttpServletRequest request, HttpServletResponse response) { if("POST".equalsIgnoreCase(request.getM

我正在开发一个Struts应用程序。我只需要允许
POST
方法请求调用action类

为此,我编写了自定义的
RequestProcess
类并重写了
processPreprocess
方法:

@Override
protected boolean processPreprocess(HttpServletRequest request,
        HttpServletResponse response) {
    if("POST".equalsIgnoreCase(request.getMethod())){
        return true;
    }else
        return false;
}
如果请求方法是
GET
,我想重定向到
index.jsp
页面


我不确定管理此重定向的最佳方法是什么?

一种方法是,您可以编写自定义错误代码以响应覆盖的方法,例如 response.getWriter().write(“无效请求”)。
根据您的项目配置进行转换。基于这些自定义错误代码,您可以从客户端重定向到您喜欢的任何页面,即从请求的回调方法重定向到任何页面。

如果您想在
GET
请求上重定向,则应执行以下操作

@Override
protected boolean processPreprocess(HttpServletRequest request,
        HttpServletResponse response) {
    if("GET".equalsIgnoreCase(request.getMethod())){
        response.sendRedirect(request.getContextPath()+"/index.jsp");
        return false;
    }else
        return super.processPreprocess(request, response);
}

您需要为所有操作禁用GET,还是只为特定操作禁用GET?另外,您使用的是哪个版本的Struts。请提供更多信息,以便我们可以帮助您。我正在使用Struts 1.3。是的,我只想为POST请求调用Action.execute()方法