【问题标题】:Spring/Java web: how can I know a request is a form post?Spring/Java web:我怎么知道一个请求是一个表单帖子?
【发布时间】:2015-01-03 05:40:49
【问题描述】:

我正在做一个 Spring 网站。该网站有许多访问者可以获得的页面。它还允许访问者填写和提交一些表格。

我想使用 Spring 拦截器(作为中心位置)来检查来自访问者的每个 Web 请求。如何确定 Web 请求是获取请求还是表单发布?

感谢和问候!

【问题讨论】:

  • 会由拦截器中preHandle方法的HttpServletRequest请求参数决定-----HttpServletRequest有一个“getMethod()”,它将返回请求的类型
  • HttpServletRequest.html#getMethod() 会是一个开始吗?如果您需要确定表单,隐藏字段也可能会派上用场。

标签: java spring-mvc servlets


【解决方案1】:

你可以像下面这样使用getMethod() -

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Component
public class MyInterceptor extends HandlerInterceptorAdapter {
    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {
        System.out.println("Request Intercepted for : "
                + request.getRequestURI());
        System.out.println("Request type : "
                + request.getMethod());
        return true;
    }
}

表格documentation

java.lang.String getMethod()

返回发出此请求的 HTTP 方法的名称,例如 GET、POST 或 PUT。与 CGI 变量 REQUEST_METHOD 的值相同。

返回: 一个字符串,指定发出此请求的方法的名称

【讨论】:

    猜你喜欢
    • 2011-11-23
    • 2011-11-28
    • 2021-08-17
    • 2010-12-06
    • 2013-07-28
    • 2011-01-11
    • 2012-11-01
    • 2022-10-06
    • 2010-10-16
    相关资源
    最近更新 更多