Eggs Sunny Side Up
본문 바로가기
Web/JSP_Servlet

Form

by guswn100059 2023. 4. 9.

html)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>


	<!-- 
		데이터 전송
		
		form 태그를 사용할 때, 필수요소 3가지
		form : submit 버튼을 눌렀을 때, 데이터를 포함한 요청을 하는 태그
		1. 어디로 요청할 것인가?
			> form 태그의 action 속성 : 요청 url
			> 요청을 받아서 처리할 서버 프로그램
		2. 무슨 데이터를 가져갈 것인가?
			> 데이터에 라벨을 붙여야만 한다.
		3. 언제 보낼 것인가?
			> submit 버튼(input type=submit)
	 -->
	 
	 <form action="Ex04Form">
	 
	 <!-- 
	 	http://localhost:8081/Servlet/Ex04Form.html
	 	같은 프로젝트 내 파일에 요청을 보낼 때는,
	 	http://localhost:8081/Servlet/ 를 생략 가능하다.
	 	Tomcat에서 앞 주소를 알아서 붙혀준다.
	  -->
	  
	  <input type="" name="data">
	  
	  <input type="submit">
	 
	 
	 </form>

</body>
</html>

java)

package ex0406;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/Ex04Form")
public class Ex04Form extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		// 요청에 담긴 데이터 꺼내기
		// .getParameter("input 태그의 name");
		String data = request.getParameter("data");
		
		// 받아온 데이터를 이용해서
		// client의 화면에 전송된 데이터는 ~~~입니다.
		// 라고 응답해보기.
		
		// 1) 응답 형식 지정
		response.setContentType("text/html ; charset=utf-8");
		
		// 2) out(출력스트림) 객체 생성
		PrintWriter out = response.getWriter();
		
		// 3) 응답 내용 작성
		out.print("<html>");
			out.print("<body>");
				out.print("<h1>");
					out.print("전송될 데이터는 "+data+"입니다.");
				out.print("</h1>");
			out.print("</body>");
		out.print("</html>");
		
		
		
		
	}

}

 

결과값)

 

예제) 아래 화면을 출력해보기

html) 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>


	<form action="Ex05plus">
	
	<input type="number" name="data1" value="12">
	+
	<input type="number" name="data2">
	
	<input type="submit" value="확인">
	
	
	
	</form>

</body>
</html>

java)

package ex0406;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/Ex05plus")
public class Ex05plus extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String user1 = request.getParameter("data1");
		String user2 = request.getParameter("data2");
		
		int a = Integer.parseInt(user1);
		int b = Integer.parseInt(user2);
		int result = a+b;
		
		response.setContentType("text/html ; charset=utf-8");
		
		PrintWriter out = response.getWriter();
		
		out.print("<html>");
			out.print("<body>");
				out.print(user1+"+"+user2+"="+result);
			out.print("</body>");
		out.print("</html>");
		
		
	}

}

'Web > JSP_Servlet' 카테고리의 다른 글

MVC 기초_총합 구하기  (0) 2023.04.11
MVC를 위한 Dynamic web project 생성  (0) 2023.04.10
Servlet 클래스 생성  (0) 2023.04.09
Servlet 요청과 응답  (0) 2023.04.09
톰캣오류 - The selection cannot be run on any server  (0) 2023.04.07

댓글