Web/JSP국비지원 수업 정리

Web 4일차 수업내용 (폼만들기, input, javascript 살짝)
깝몬 2023. 6. 22. 17:49

폼 Form 만들기

<form> 태그

form을 만들기위한 가장 큰 뼈대

 

element

1.method

사용자가 입력한 내용들을 서버 쪽 프로그램으로 어떻게 넘겨줄지 지정해준다.

 

1-1.get : 주소창에 사용자가 입력한 내용이 그대로 드러나며 길이 제한이 있다.. 어지간하면 안쓸 것 같다.

1-2 post : 사용자의 입력을 표준입력으로 넘겨주기때문에 입력내용 길이 제한이 없고 내용이 드러나지않는다.(★)

 

2. name

말그대로 form의 이름이다.

 

3. action

form태그 내의 내용을 처리해줄 서버의 프로그램을 지정한다.

서버 측 페이지를 지정해준다.

 

4. target

a에서의 역활과 동일하다. 기존창에서 불러올지, 새창에서 불러올지를 결정 한다.

 

5. autocomplete

자동완성기능이다. 암호에서는 끄도록 하자.

 

<input> 태그

사용자로부터 정보를 입력받을 수 있는 대화형 컨트롤을 생성하는 데 사용된다.

<input> 요소의 type 속성을 사용하여 입력 필드의 유형을 지정할 수 있다. 

 

※Attribute

type : 입력받을 데이터의 종류

name : 저장할 변수명

 


※type element
1.text: 일반 텍스트 입력 필드를 생성한다. 직접 입력한 텍스트를 받는다.

2. password: 비밀번호를 입력받을 수 있는 필드를 생성한다. 입력한 내용은 마스킹되어 표시되지 않고, 보안을 위해 숨겨진다.

3. number: 숫자를 입력받을 수 있는 필드를 생성한다. 사용자는 숫자 값을 입력할 수 있으며, 일부 브라우저는 증감 화살표를 표시하여 값을 증가 또는 감소시킬 수도 있다.

3-1. range : 숫자를 드래그를 통해 입력을 받아 저장한다.

 


4. email: 이메일 주소를 입력받을 수 있는 필드를 생성한다. 입력한 내용은 이메일 형식에 맞는지 유효성 검사한다.

5. date: 날짜를 입력받을 수 있는 필드를 생성한다. 사용자는 달력 또는 기타 날짜 선택 도구를 사용하여 날짜를 선택할 수 있다.

6. checkbox: 다중 선택 옵션을 제공하는 체크박스를 생성한다. 사용자는 여러 옵션 중 필요한 옵션을 선택할 수 있다.

7. radio: 여러 옵션 중 하나를 선택할 수 있는 라디오 버튼을 생성한다. 그룹으로 묶인 라디오 버튼 중 하나만 선택할 수 있다.

8. file: 파일 업로드를 위한 필드를 생성한다. 사용자는 컴퓨터에서 파일을 선택하여 업로드할 수 있다.

9. submit: 폼을 제출하는 버튼을 생성한다. 사용자가 이 버튼을 클릭하면 폼의 내용이 서버로 제출된다.

10. reset: 폼의 내용을 초기화하는 버튼을 생성한다. 사용자가 이 버튼을 클릭하면 입력된 내용이 모두 초기화된다.

 

 

예시

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<h2>form 을 연습 하겠습니다</h2>
	<h3>입력해보자고</h3>
	<form>
	<ul>
		<li>아이디<input type="text" name="userName"/></li>
		<li>비밀번호<input type="password" name="userPW"/></li>
		<li>생년월일<input type="date" name="userBirthdate"/></li>
		<li>주소<input type="text" name="userAddress"></li>
		<li>핸드폰번호<input type="tel" name="userTlno"/></li>
		<input type="submit">
		<input type="reset">
	</ul>	
	</form>
</body>
</html>

이렇게 입력하여 만들 경우

 

 

드디어 그럴듯 한 사이트의 모양을 갖추고있다.

 

※만약 유저에게 받지 않은 정보를 우리가 가져오고싶다면 hidden을 입력하면 유저에게 출력하지않은채로 그대로 전달 받을 수 있다. (Ex: 게시글번호)

<label>태그

폼요소에 라벨을 붙인다고 생각하자.

폼태그가 무엇인지 이름을 붙여 무엇인지 알게 하고, 그 텍스트가 서로 연결되어있다는 것을 직관적으로 알게 해준다.

 

 

 

 

 

 


HTML에서 입력받은 데이터의 처리

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<h2>form 을 연습 하겠습니다</h2>
	<h3>입력해보자고</h3>
	<pre>
	
	</pre>
	<form action="ok.jsp">
	<ul>
		<li>아이디<input 		type="text" 	name="userID" 	value="아이디를 입력하세요"/></li>
		<li>비밀번호<input 	type="password" name="userPW"/		value="**********"></li>
		<li>생년월일<input 	type="date" 	name="userBirthdate"/></li>
		<li>주소<input 		type="text" 	name="userAddress"	value="주소를 입력하세요"></li>
		<li>핸드폰번호<input 	type="tel"		 name="userTlno"	value="핸드폰 번호를 입력하세요"/></li>
		<input type="submit" 	value="회원가입하기"/>
		<input type="reset" 	value="취소"/>
	</ul>	
	</form>
</body>
</html>

이와같은 형태로 우리는 HTML페이지에서 데이터를 입력받고, 그것의 타입과 name, 기본값인 value 까지 정해주었다.

 

 

여기에 정보를 입력하면 페이지는 이것을 받아 

 

http://localhost:8081/example/CH04_FORM/ok.jsp?userID=%C5%D7%BD%BA%C6%AE&userPW=dlqfur&userBirthdate=1992-11-11&userAddress=%BF%A9%B1%E2%B4%C2%C1%D6%BC%D2&userTlno=059135

 

와 같은 페이지로 연결 해준다. 우리가 입력받은것을 데이터로 변형하여 만들어 준 것이다.

 

페이지를 받아서 이것을 우리가 출력하고, 데이터로 다루어야하는데 우선 출력부터 해보자.

 

이것을 받을 jsp 페이지를 만들어보자.

<%-- 
	<%@ %>는 지시어 부분이다.
	jsp페이지에 대한 정보 지정
	
 --%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>서버쪽 페이지 입니다.</title>
</head>
<body>
ok.jsp 입니다

<!-- html 주석문 -->


<%-- jsp 주석문
이 문서는 form01.jsp문서에서 보낸 data를 받아 처리하는 서버측 문서이다. --%>

<% //스크립트릿. java코드
request.setCharacterEncoding("utf-8");
String userID = request.getParameter("userID");
String userPW = request.getParameter("userPW");
String userBirthdate = request.getParameter("userBirthdate");
String userAddress = request.getParameter("userAddress");
String userTlno = request.getParameter("userTlno");
%>

<h2>ok.jsp 문서</h2>
<ul>
<li> 아이디 : <%=userID%></li>
<li> 비번 : <%=userPW%></li>
<li> 생일 : <%=userBirthdate%></li>
<li> 주소 : <%=userAddress%></li>
<li> 핸드폰번호 : <%=userTlno%></li>

</ul>
</body>
</html>

 

<% %>

scriptlet(스크립틀릿)  java코드를 실행한다.

 

<%= %>

expression(표현식)으로 값을 브라우저에 출력해준다.

 

<%@ %>

지시어부분이다.

jsp페이지에 대한 정보를 가지며, 생성하는 문서타입, 에러페이지 등등 여러가지 정보를 설정한다.

 

 

 

※요약

 

input에서 name을 통해 지정된 parameter값을 

request객체에서 getParameter 메서드로 해당 값을 return하여

스크립틀릿에서 변수에 저장한 후

그것을 expression으로 페이지에 나타낸 것이다.

 

 

 

 

이외에도 기능들이 많으니 구현해보고 사용해보나 정리하기엔 너무 사소하고 방대하다.

 

 

추후 필요할 때 다시 찾아서 쓰는 용도로도 충분할것같다.


Visual Studio Code설치

 

https://code.visualstudio.com/Download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

해당링크에서 다운로드 받아 설치한다.

 

 

그리고 

 

설치 후 좌측위 메뉴중 가장 아래에 가서 필요한 애드온 들을 설치한다.

 

마지막으로 기존에 쓰던 폴더를 가져와서 편집을 한다.

 

여긴서 나는 

 

 

 

총 4개의 애드온을 설치했으며,

이곳에 내가 쓰던 폴더를 불러와서 사용하면 된다.

 

 

이클립스에 비하여 상대적으로 가볍고 애드온기능이 많아 쓰는법을 알아두면 좋을것으로 보인다.