jsp 페이지와 서블릿을 사용하여 프로젝트를하고 있습니다.jsp 페이지에서 서블릿을 호출하는 방법을 알고 싶습니다.
내 서블릿에서 요청을 처리하는 JSP 페이지를 식별해야합니다.
어떻게하면됩니까?
jsp 페이지와 서블릿을 사용하여 프로젝트를하고 있습니다.jsp 페이지에서 서블릿을 호출하는 방법을 알고 싶습니다.
내 서블릿에서 요청을 처리하는 JSP 페이지를 식별해야합니다.
어떻게하면됩니까?
해결책을 찾았습니다.
제출 버튼에 이름을 설정했습니다.
<input type="submit" name="button" value="button1">
및
는 서블릿에서 나는String r = request.getParameter("button");
내가 요청이 요청하고자에서 제공되는 양식을 식별 할 수
가장 간단한 방법은 어디에서 왔는지 알고 것을 이렇게 확인 양식 식별자가 들어있는 숨겨진 필드를 추가하십시오. 그러나 이것은 매우 드문 요구 사항입니다. 동일한 URL에 게시하는 경우 일반적으로 게시물의 원본이 중요하지 않음을 의미합니다. 중요한 경우 (이유는?) 차이점은 게시 된 데이터 (숨겨진 필드 제안)에 있어야합니다. 그렇지 않으면 다른 URL에 게시해야합니다. 서블릿은 너무 비싸지 않아서 번호를 제한해야합니다.
서블릿의 경우 doGet/doPost를 사용하여 요청을 처리하고 응답을 반환한다고 가정하고 jsp의 요청에서 숨겨진 입력 필드를 추가하여 서블릿이 다음 JSP 서블릿에서
<input type="hidden" name="jspname" value="jspname" />
:
새로운 숨겨진 입력 텍스트 필드를 추가
사용의 getParameter의 m : 당신의 JSP에서
의 doGet에 대한의 doPost 또는 대해 getQueryString()에 대한 ethod :의 doPost에
:
String jspname = request.getParameter("jspname");
jspname 문자열을 사용함으로써, 당신은 쉽게하는 그것을 사용하고 JSP 확인할 수 있습니다.
hidden input
을 사용하면 다른 답변을 얻을 수 있습니다. 하지만 hidden input
없이는 그렇게 할 수 있습니다.
String referer = new URI(request.getHeader("referer")).getPath();
referer
문자열 URI
당신이 가득 차 있습니다. 또한 jsp
페이지 이름을 얻으려면 java code
을 사용할 수 있습니다.
String[] uriNames = referer.split("/");
String jspPageName = uriNames[uriNames.length-1];
또한
regex
당신은
jsp
페이지 이름을 얻을 수 있습니다.
Pattern pattern = Pattern.compile("(\\w+)(\\.)(jsp)");
Matcher matcher = pattern.matcher(mydata);
String jspPageName = "";
while(matcher.find()) {
jspPageName = matcher.group();
}
어떤 종류의 요청을? 브라우저의 외부 요청 또는 일부 내부 include/dispatch? – Thilo
jsp 페이지에서 웹 페이지에 게시물을 쓰는 양식이 있습니다 @ Thhilo – untruste
요청에 referer 속성을 읽을 수는 있지만 안전하지는 않습니다. 이 옵션에 대한 첫 번째 해결책은 http : // stackoverflow를 참조하십시오.com/questions/10791109/request-getheaderreferer-back-button-reload-the-page –