브라우저 주소 표시줄을 통해 URL을 입력하고 ?를 통해 매개변수를 전달하여 리소스를 요청하면 ? 뒤의 매개변수를 "쿼리 문자열"이라고 하며, 이는 직접 액세스하기 때문에 백그라운드 서블릿의 doGet()을 트리거합니다. 브라우저 주소창을 통한 방법은 GET 방식입니다.
폼의 메소드 속성이 매개변수 전달에 미치는 영향을 살펴보겠습니다.
원래 형식:
첫 번째 경우:
위의 양식 작업 속성이 작성되지 않은 경우 "제출" 버튼을 직접 클릭하면 양식의 제출 이벤트가 트리거됩니다. 이때 Firefox 브라우저의 콘솔을 통해 확인할 수 있습니다.
메시지 헤더에는 다음과 같은 주요 정보가 포함되어 있습니다. (1) 요청 주소 이후 '?'를 통해 매개변수가 전달됩니다. (2) 요청 방법은 GET

매개변수 정보: 쿼리 문자열
폼의 메소드 속성을 지정할 경우:
두 번째 경우:
메시지 헤더에는 다음과 같은 주요 정보가 포함됩니다. (1) 요청 주소 뒤에 매개변수가 전달되지 않습니다. (2) 요청 방법이 POST입니다
매개변수 정보: 양식 데이터
위 두 가지 방법의 응답은 새로 고침 후 현재 페이지를 표시하는 것입니다. 양식에 작업 속성이 지정되어 있지 않기 때문에 기본 제출 주소는 현재 페이지입니다.
이제 메소드 속성에 대해 자세히 알아보려면 action 속성을 지정하여 서블릿에 액세스하세요.
TestServlet.java 핵심 소스 코드:
@WebServlet("/servlet/TestServlet")
공용 클래스 TestServlet은 HttpServlet을 확장합니다. {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest 요청, HttpServletResponse 응답) throws ServletException, IOException {
response.getWriter().print("doGet()");
}
protected void doPost(HttpServletRequest 요청, HttpServletResponse 응답)은 ServletException, IOException을 발생시킵니다. {
response.getWriter().print("doPost()");
}
}
세 번째 경우: method="get" action="/test/servlet/TestServlet"
위 메시지 헤더와 매개변수는 첫 번째 경우와 동일하지만, 배경에서는 doGet()으로 응답합니다.
네 번째 사례: method="post" action="/test/servlet/TestServlet"
위 메시지 헤더와 매개변수는 첫 번째 경우와 동일하지만, 배경이 doPost()로 응답합니다. .
TestServlet.java get 매개변수 코드 추가:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String param = request.getParameter ("type");
response.getWriter().print("doGet() get type="+param);
}
protected void doPost(HttpServletRequest 요청, HttpServletResponse 응답) throws ServletException, IOException {
String param = request.getParameter("type");
response.getWriter().print("doPost() get type="+param);
}
다섯 번째 경우, method="get"은 액션 이후에 action = "/servlet/TestServlet?type=01" 매개변수를 전달하는 동시에 백그라운드 서블릿에서 매개변수를 가져옵니다
이때 브라우저 주소창 : http://localhost:8080/test/servlet/TestServlet?username=
백그라운드의 doGet()이 매개변수 유형을 가져오지 못하는 것을 확인할 수 있습니다.
동시에 "쿼리 문자열"에 유형 매개변수가 추가되지 않은 것으로 확인됩니다. "
6번째 경우, method="post"는 액션 뒤에 매개변수 action = "/servlet/TestServlet?type=01"을 전달하고, 동시에 백그라운드 서블릿의 시간
백그라운드의 doPost()가 매개변수 유형을 가져오는 것을 확인할 수 있습니다.
동시에 매개변수 열이 이전과 조금 다릅니다.
"쿼리 문자열"과 "양식 데이터"가 모두 있습니다
그래서 위의 내용은 우리에게 계시를 제공합니다. 즉, 양식의 작업 후에 매개변수를 전달할 때 양식의 method="post"를 수동으로 지정해야 합니다. 그렇지 않으면 우리는 get ?;
다음 매개변수에 도달할 수 없습니다. 오해: 브라우저 주소 표시줄의 url을 통해 매개변수를 전달하기 전에도 ?를 통해서였습니다. 이를 달성하기 위해 궁극적으로 doGet() 메서드를 호출하므로 (기본 메서드="get") 형식의 작업이 전달될 수 있다고 생각합니까? 오셔서 인삼을 전해 주세요.
최종 이유: (개인 요약) get 메소드에서 양식 데이터를 제출할 때 URL이 재구성됩니다. 양식 데이터를 "쿼리 문자열"로만 조합하여 지정된 항목에 제출합니다. 따라서 원래 ? 메소드를 통해 전달된 매개변수는 재구성 후 URL이 손실되므로 제출되지 않습니다.
그러나 양식이 게시 모드로 제출되면 양식 데이터와 ? 이후의 매개변수가 별도로 저장되고 양식의 작업에서 지정한 URL에 함께 제출됩니다.
(참조 리소스) HTML 양식: 왜 액션이 값을 얻을 수 없나요?
http://stackoverflow.com/questions/3548795/html-form-why-action-cant-have -가치 획득

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版
시각적 웹 개발 도구

뜨거운 주제



