JspServlet #4 form태그 실습 **

장서영·2023년 10월 29일

JspServlet

목록 보기
4/11

form태그


중요함~
submit : 데이터 보낼 시점
action에는 servlet의 url mapping값을 작성
->action에 작성한 페이지를 요청한다는 의미

실습1



html

<form action="Ex04_get">
	data = <input type="text" name="data">
	<input type="submit" value="send">
</form>

java

String data = request.getParameter("data");
		System.out.println(data);



실습2


html

<!-- 보낼 주소 -->
<form action="Ex05_getName">
	당신의 이름은?<input type="text" name="names"></br>
	당신의 나이는?<input type="text" name ="ages"></br>
	<input type="submit" value="전송">
	<!-- 시점 -->R
</form>

java

		// 1. 데이터 받아오기
		String names = request.getParameter("names");
		String ages = request.getParameter("ages");	
		//2. WEB에 출력하기 -> PrintWriter
		//응답할 문서에 대한 설정
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter(); 
		out.print("제 이름은 "+names+"입니다.</br>");
		out.print("제 나이는 "+ages+"입니다.");

실습3


html

<h1>두 수를 입력 받아서 계산하기!</h1>
<form action="Ex06_plus"> 
	<input type="text" name="num1"><br>
	<input type="text" name="num2"><br>
<input type="submit" value="연산">
</form>

java

		// 입력한 두수 받아서 web에 출력하기
		// 1. 입력한 두 수 받아오기 -> 연산하기 위해서 
		// 형변환 Integer 객체의 parseInt 메소드 사용		
		int num1 = Integer.parseInt(request.getParameter("num1"));
		int num2 = Integer.parseInt(request.getParameter("num2"));
		int result = num1 + num2;		
		//2. 응답할 문서에 대한 설정
		response.setContentType("text/html;charset=utf-8");		
		//3. 출력 스트림 열기(출력할 통로를 열어준다.)
		PrintWriter out = response.getWriter(); 		
		//원래는 response.getWriter().print("");
		out.print(num1+" 과 "+num2+" 의 합은 "+result+"입니다.");

실습4


html

<form action="Ex07_makeTable">
	방 개수 : <input type="text" name="room">
	색깔 :<input type="color" name="colors">
	<input type="submit" value="전송">
</form>

java

		// 방 개수, color 받아와서 table 형태로 웹에 출력 -> 반복문
		// 서블릿은 웹을 만드는 프로그램이지만 자바를 기반으로 하기 때문에 가능		
		//1. 방 개수, color 받아오기
		int room = Integer.parseInt(request.getParameter("room"));
		String colors =request.getParameter("colors");	
		//2. 웹에 출력
//		response.setContentType("text/html;charset=utf-8");
		// 따로 안 해줘도 됨
		PrintWriter out = response.getWriter(); 
		// 3. table 형태로 출력하기
		// table -> 1개, tr-> 1개, td -> 사용자가 입력한 방의 개수
		// 1행 6열
		out.print("<table border=1 bgcolor = "+colors+">");
//		out.print("<table border=1 style='background-color:"+colors+"'>");
//		out.print("<style> table{background-color :"+colors+"}</style>");		
		out.print("<tr>");
		for(int i = 1 ; i<=room; i++) {
			out.print("<td>"+ i +"</td>");
		}
		out.print("</tr>");
		out.print("</table>");
profile
영이의 일상은 짱셔요

0개의 댓글