HTML form 사용하기 [JSP 기초]

2022. 1. 5. 13:30·JAVA/JSP & Servlet

HTML 에서 많이 쓰이는 <input> 태그의 타입에는 5가지가 있다.

  • text
  • checkbox
  • radio
  • dropdown
  • submit

여러가지 html 폼

input 태그의 정의는 다음과 같다

type에 text, checkbox는 필요한 타입만 넣어주면 바로 생성할 수 있다.

<input type="타입" name="변수이름" value="값">

 

 


 

 

그렇다면 input 태그를 통해

사용자의 입력에 따라 반응하는 웹페이지를 만드는 방법에 대해서 알아보도록 하자.

 

1. 파일생성

webapp 디렉토리에 홈페이지로 쓰일 htmlForm.jsp 파일과 그에 응답할 웹페이지인 response.jsp를 만들었다.

 

2. 중요 포인트

  • text

- 폼 작성(htmlForm.jsp)

이름: <input type="text" name="name">

- 반응(response.jsp)

이름: ${param.name}

 

 

  • checkbox

체크박스는 다른 input과 다르게 여러 개를 선택할 수 있는 도구기 때문에 반응할 때, 리스트로 받아서 처리해야한다.

- 폼 작성

<input type="checkbox" name="select" value="심장 문제"> 불규칙한 맥박

- 반응(response.jsp)  

증상 목록: 
	<%
		String[] list = request.getParameterValues("select");
		
		for(String str: list){
			out.println(str + ", ");
		}
	%>

 

 

  • radio

- 폼 작성 : checkbox와 동일

- 반응(response.jsp) : text와 동일

 

 

  • dropdown

- 폼 작성

원하는 진료과<br>
		<select name="diagnosis">
			<option>외과</option>
			<option>내과</option>
			<option>정형외과</option>
			<option>이비인후과</option>
			<option>정신과</option>
		</select>

- 반응(response.jsp) : text와 동일

 

 

 

  • submit
<input type="submit" value="submit">

 

 

 

3. 코드 작성

-htmlForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.net.URLEncoder"%>

<html>
<head>
<meta charset="EUC-KR">
<title>진단표</title>
</head>
<body>
	<h1>진단표</h1>
	
	<form action="response.jsp">	
		이름: <input type="text" name="name">
		<br><br>
		전화번호: <input type="text" name="phone">
		<br><br>
		
		최근 나타난 증상<br>
		<input type="checkbox" name="select" value="심장 문제"> 불규칙한 맥박
		<input type="checkbox" name="select" value="호흡곤란"> 호흡곤란
		<input type="checkbox" name="select" value="근육통"> 근육통<br>
		<input type="checkbox" name="select" value="두통"> 두통
		<input type="checkbox" name="select" value="어지럼증"> 어지럼증
		<br><br>
		
		스트레스 정도<br>
		<input type="radio" name="degree" value="문제 없음"> 전혀 없음
		<input type="radio" name="degree" value="문제 없음"> 약간 없음
		<input type="radio" name="degree" value="문제 없음"> 보통
		<input type="radio" name="degree" value="주의 요망"> 약간 있음
		<input type="radio" name="degree" value="관리 필요"> 많음
		<br><br>
		
		원하는 진료과<br>
		<select name="diagnosis">
			<option>외과</option>
			<option>내과</option>
			<option>정형외과</option>
			<option>이비인후과</option>
			<option>정신과</option>
		</select>
		<br><br>
		
		<input type="submit" value="submit">
	</form>
</body>

</html>

 

- reseponse.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<html>
<head>
<meta charset="EUC-KR">
<title>진단표</title>
</head>
<body>
	<h1>진단표</h1>
	
	이름: ${param.name}
	<br><br>
	전화번호: ${param.phone}
	<br><br>
	
	증상 목록: 
	<%
		String[] list = request.getParameterValues("select");
		
		for(String str: list){
			out.println(str + ", ");
		}
	%>
	<br><br>
	스트레스 정도: ${param.degree}
	<br><br>
	원하는 진료과: ${param.diagnosis}
	<br><br>
	

</body>

</html>

 

 

 

 

 

4. 실행결과

htmlForm.jsp

적을 것을 다 적고 submit 버튼을 누르면 결과가 나온다.

response.jsp

'JAVA/JSP & Servlet' 카테고리의 다른 글
  • 쿠키 (Cookies) - 개념 및 활용 [JSP 기초]
  • 세션 트래킹 (Session Tracking) [JSP 기초]
  • jsp:include 사용하기 (파일 활용) [JSP 기초]
  • JSP에서 Class 사용하기 [JSP 기초]
gakko
gakko
좌충우돌 개발기
  • gakko
    MYVELOP 마이벨롭
    gakko
  • 전체
    오늘
    어제
    • 분류 전체보기 (205) N
      • Spring (23)
        • Spring (10)
        • Spring Boot (7)
        • Spring Security (1)
        • Hibernate (4)
      • Test (3)
      • 끄적끄적 (6)
      • 활동 (35)
        • 부스트캠프 (23)
        • 동아리 (3)
        • 컨퍼런스 (3)
        • 글또 (5)
        • 오픈소스 컨트리뷰션 (1)
      • 디자인패턴 (0)
      • Git & GitHub (22)
        • Git (13)
        • Github Actions (1)
        • 오류해결 (5)
        • 기타(마크다운 등) (3)
      • 리눅스 (6)
        • 기초 (6)
        • 리눅스 서버 구축하기 (0)
      • Infra (2)
        • Docker (1)
        • Elastic Search (0)
        • Jenkins (1)
        • AWS (1)
      • MySQL (7)
        • 기초 (6)
        • Real MySQL (1)
      • 후기 (3)
        • Udemy 리뷰 (3)
      • CS (26)
        • 웹 기본지식 (0)
        • 자료구조 (13)
        • 운영체제 OS (12)
        • 데이터베이스 (1)
        • 시스템 프로그래밍 (0)
        • 기타 (0)
      • Tools (1)
        • 이클립스 (1)
        • IntelliJ (0)
      • 프로젝트 (2) N
        • 모여모여(부스트캠프) (1)
      • JAVA (32)
        • Maven (6)
        • 오류해결 (11)
        • 자바 클래스&메소드 (1)
        • JSP & Servlet (12)
      • Javascript (5)
        • 기초 (3)
        • React (2)
      • Python (28)
        • 파이썬 함수 (9)
        • 알고리즘 문제풀이 (16)
        • 데이터 사이언스 (2)
        • 웹 크롤링 (1)
      • 단순정보전달글 저장소 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 우진님
  • 공지사항

  • 인기 글

  • 태그

    os
    운영체제
    부스트캠프 7기
    스프링
    알고리즘
    오류해결
    부스트캠프
    자바스크립트
    jsp
    MySQL
    Python
    GitHub
    Spring
    스프링부트
    파이썬
    Git
    자바
    부스트캠프 멤버십
    java
    웹개발
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
gakko
HTML form 사용하기 [JSP 기초]
상단으로

티스토리툴바