Struts 1.x에서 구성 가능한 방법이있어서 내 동작 클래스가 HTTP 'POST'에서만 실행됩니다.Struts 1.x에서만 HTTP 요청을 'POST'로 제한하십시오.
나는 내 행동 수업 내에서 request.getMethod()
을 사용할 수 있다는 것을 알고 있으며 그에 따라 특정 '물건'을 사용합니다.
감사합니다, 조나단
Struts 1.x에서 구성 가능한 방법이있어서 내 동작 클래스가 HTTP 'POST'에서만 실행됩니다.Struts 1.x에서만 HTTP 요청을 'POST'로 제한하십시오.
나는 내 행동 수업 내에서 request.getMethod()
을 사용할 수 있다는 것을 알고 있으며 그에 따라 특정 '물건'을 사용합니다.
감사합니다, 조나단
는 여기에 몇 가지 프로그램 및 구성 솔루션을 모두하고 생각입니다. 당신은 사용자 정의 액션 맵핑을 만들 ...
public class YourPOSTRequiredActionMapping extends ActionMapping { }
... 당신의 스트럿에서의 사용에만 POST이다 매핑을 위해 config (설정) 할 수있다.
<action path="/your/path" type="YourAction" className="YourPOSTRequiredActionMapping" />
그런 다음 스트럿의 RequestProcessor를 확장하고
public class YourRequestProcessor extends RequestProcessor {
protected ActionMapping processMapping(HttpServletRequest request, HttpServletResponse response, String path) throws IOException {
ActionMapping mapping = super.processMapping(request, response, path);
if (mapping instanceof YourPOSTRequiredActionMapping) {
if (!request.getMethod().equals("POST")) {
mapping = null;
}
}
return mapping;
}
}
이 YourRequestProcessor를 사용하도록 스트럿의 설정을 구성해야합니다 processMapping 오버라이드 (override) 할 수있다.
<controller processorClass="YourRequestProcessor" nocache="true" contentType="text/html; charset=UTF-8" locale="false" />
나는이 코드를 이전의 일부 작동 코드를 바탕으로 작성했지만 위의 샘플 코드도 컴파일하지 않았습니다.
응용 프로그램을 변경하지 않고이 작업을 수행하는 한 가지 방법은 비 POST 요청을 거부하는 서블릿 필터를 작성하는 것입니다. 그런 다음이 필터를 web.xml 파일에 연결하고 URL 패턴을 Struts 컨트롤러의 경로와 일치하도록 구성 할 수 있습니다.
web.xml
을 사용하여 액세스 권한을 정의 할 수 있습니다. 이 제약 조건은 GET 요청을 방지합니다.
<security-constraint>
<web-resource-collection>
<web-resource-name>struts action servlet</web-resource-name>
<url-pattern>*.do</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<!-- no one! -->
</auth-constraint>
</security-constraint>
McDowell 응답은 특정 요구 사항이없는 한 허용 할 수 없습니다. 사용자에게 의미있는 정보를 표시하거나 현재 웹 구성의 실제 오류 관리에 남겨 둘 수있는 503 HTTP 오류가 발생해야합니다.
누군가 GET을 보내면 어떤 일이 일어나기를 원합니 까? – skaffman
이것은 단순히 데이터 캡처 앱이며 GET 인 경우 데이터를 DB에 저장하지 않습니다. 난 그냥 프로그래밍 방식으로 이외의 일을 xml '구성 가능한'방법이 있는지 확인 싶었어요. – Jonathan
마지막으로 어떻게 구현 했습니까? – xain