method="get"를 쓴방식
GreetingServlet.java
package kr.web.ch03;
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("/greeting")
public class GreetingServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//전송된 데이터 반환
String name = request.getParameter("name");
//HMTL 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Greeting</title></head>");
out.println("<body>");
out.println(name+"님의 방문을 환영합니다.");
out.println("</body>");
out.println("</html>");
out.close();
}
}
greetingForm.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Greeting form</title>
</head>
<body>
<form action="/ch03_JSP/greeting" method="get">
당신의 이름은 <input type="text" name="name">
<input type="submit" value="전송">
</form>
</body>
</html>
빨간색 표시된 곳을 복사해서 붙여넣으면 인코딩 방식으로 변해서 나온다. method="get"을 썼기 때문에.
http://localhost:8080/ch03_JSP/greeting?name=%ED%99%8D%EA%B8%B8%EB%8F%99
method="post"를 쓴방식
GreetingServlet.java
doGet을 doPost로 바꿔준다
greetingForm.html
method="get"을 method="post"로 바꿔준다.
//post 방식으로 데이터를 전송할 경우 인코딩 타입 지정
request.setCharacterEncoding("utf-8");
GreetingServlet.java 에다가 추가 해줘 깨지는걸 방지해줌.
GreetingServlet.java (최종)
package kr.web.ch03;
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("/greeting")
public class GreetingServlet extends HttpServlet {
@Override
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//post 방식으로 데이터를 전송할 경우 인코딩 타입 지정
request.setCharacterEncoding("utf-8");
//전송된 데이터 반환
String name = request.getParameter("name");
//HMTL 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Greeting</title></head>");
out.println("<body>");
out.println(name+"님의 방문을 환영합니다.");
out.println("</body>");
out.println("</html>");
out.close();
}
}
greetingForm.html(최종)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Greeting form</title>
</head>
<body>
<form action="/ch03_JSP/greeting" method="post">
당신의 이름은 <input type="text" name="name">
<input type="submit" value="전송">
</form>
</body>
</html>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
BoradServlet.java
package kr.web.ch03;
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("/board")
public class BoardServlet extends HttpServlet {
@Override
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
/*
* [실습]
* name,title,content를 전달받아서 아래와 같이 출력하시오.
* [출력예시]
* 이름 : 홍길동
* 제목 : 봄봄봄
* 내용 : 무더위 시작
*
*/
//문서 타입 및 캐릭터셋 지정
response.setContentType("text/html;charset=utf-8");
//post 방식으로 데이터를 전송할 경우 인코딩 타입 지정
request.setCharacterEncoding("utf-8");
//전송된 데이터 반환
String name = request.getParameter("name");
String title = request.getParameter("title");
String content = request.getParameter("content");
//HMTL 출력을 위한 출력 스트림 생성
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>게시판 글쓰기</title></head>");
out.println("<body>");
out.println("이름 :"+name+"<br>");
out.println("제목 :"+title+"<br>");
out.println("내용 :"+content);
out.println("</body>");
out.println("</html>");
out.close();
}
}
board_wirte.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판글쓰기</title>
</head>
<body>
<form action="/ch03_JSP/board" method="post">
이름: <input type="text" name="name"><br>
제목: <input type="text" name="title"><br>
내용: <textarea rows="5" cols="50" name="content"></textarea>
<br>
<input type="submit" value="전송">
</body>
</html>
'쌍용교육(JAVA) > Servlet' 카테고리의 다른 글
쌍용교육 -Servlet수업 45일차 ch04 (0) | 2024.04.22 |
---|---|
선택 안됨 쌍용교육 -Servlet수업 45일차 ch03(2) (0) | 2024.04.22 |
쌍용교육 -Servlet수업 44일차 ch01,h02 (0) | 2024.04.19 |