실습 - 테이블 생성
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!-- http://~~~/Servlet/MakeTable?room=생성할방 -->
<form action="MakeTable">
몇개의 방을 만들까요?<input type="text" name="room"> <input
type="submit" value="생성">
</form>
</body>
</html>
HTML파일 코드
package com.smhrd.servlet1231;
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("/MakeTable")
public class Ex06MakeTable extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
// 사용자가 입력한 숫자를 변수에 저장
int room = Integer.parseInt(request.getParameter("room"));
out.print("<html>");
out.print("<html><head><title>방 생성 결과</title></head>");
out.print("<body>");
out.print("<table border = 1px>");
out.print("<tr>");
for(int i=1; i<=room; i++) {
out.print("<td>"+i+"</td>");
}
out.print("</tr>");
out.print("</table>");
out.print("</body>");
out.print("</html>");
}
}
Java 파일의 호출한 Library
Table을 활용하여 입력받은 숫자만큼 <td>태그 생성
위 코드를 실행해보면 아래처럼 출력된다
Get 방식과 Post 방식의 차이점
Get방식의 특징
-URL주소를 통해서 데이터 전달
-?name=value 형식 : QueryString(쿼리스트링)
Post방식의 특징
-HTTP 구조에 데이터를 담아서 전달 -> URL에 표출되지 않는다
한 번만 봐서는 절대 이해가 안되는 부분 ㅠㅠㅠ
Servlet을 만들때
-doPost / doGet 선택할 수 있음!!
-Get 과 Post가 하는건 Service도 할 수 있다
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ex07getPost</title>
</head>
<body>
<h1>Get방식으로 데이터 전송</h1>
<form action="GetPost" method="get">
ID: <input type="text" name="user-id">
PW: <input type="password" name="user-pw">
<input type="submit" value="전송">
</form>
<hr>
<h1>Post방식으로 데이터 전송</h1>
<form action="GetPost" method="post">
ID: <input type="text" name="user-id">
PW: <input type="password" name="user-pw">
<input type="submit" value="전송">
</form>
</body>
</html>
HTML 파일 코드
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/GetPost")
public class Ex07GetPost extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//POST방식일 때 한글깨짐방지
//데이터를 request객체로부터 가져오기전에 설정!!!
req.setCharacterEncoding("UTF-8");
System.out.println("요청이들어옴..!");
String id = req.getParameter("user-id");
String pw = req.getParameter("user-pw");
System.out.println("아이디:" +id+"\t"+"비밀번호:"+pw);
}
//Get방식일 때 호출
//protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//System.out.println("Get방식으로 실행..!");
//}
//Post방식일때 호출
//protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//System.out.println("Post방식으로 실행..!");
//}
}
Java 파일의 호출한 Library
위의 코드로 실습 진행하면 아래처럼 나타남
'JSP,Servlet' 카테고리의 다른 글
JSP-선언문(Declaration )/지시자(Directive) 개념,실습문제 (0) | 2022.01.05 |
---|---|
JSP 기초개념 / JSP 구성요소 (0) | 2022.01.04 |
Servlet - post방식 응용 실습문제 (0) | 2022.01.04 |
Servlet - 데이터 전송/이미지 띄우기 실습 (0) | 2022.01.02 |
Servlet-Request/Response 데이터 전송 , URL맵핑 (0) | 2022.01.02 |