오늘은 JSP를 사용하여 동적 웹사이트를 만들어봅시다.
Servlet을 사용하여 동적 웹사이트 만들기는 여기를 참고해주세요.
[WEB] Servlet을 사용하여 동적 웹 사이트 만들어보기
[WEB] Servlet을 사용하여 동적 웹 사이트 만들어보기
servlet으로 동적 웹 사이트를 만들어봅시다. [Servlet 개념 보러가기] [WEB] Servlet VS JSP [WEB] Servlet VS JSP Servlet과 JSP의 각각의 개념을 알아보고 차이점도 알아봅시다. Servlet 자바를 사용하여 웹페..
e-you.tistory.com
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>index.html</title>
</head>
<body>
<h1>인덱스 페이지입니다.</h1>
<h3>get 방식 폼 전송 예제</h3>
<form action="/Step01_Servlet/send" method="get">
<input type="text" name="msg" placeholder="메세지 입력..."/>
<button type="submit">전송</button>
<button type="reset">취소</button>
</form>
<br />
<h3>post 방식 폼 전송 예제</h3>
<form action="/Step01_Servlet/send.jsp" method="post">
<input type="text" name="msg" placeholder="메세지 입력..."/>
<button type="submit">전송</button>
</form>
</body>
</html>
index.html을 만들어줍시다.
post와 get 설명은 https://e-you.tistory.com/262 여기를 참고해주세요.
Servlet을 사용하여 get방식으로 데이터를 전송하고 jsp를 사용하여 post 방식으로 데이터를 전송해봅시다.
1. Servlet 예제
jsp를 만들기 전에 먼저 Servlet을 만들어봅시다.
SendServlet.java를 생성해줍니다.
SendServlet.java
package test.servlet;
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("/send")
public class SendServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String msg = req.getParameter("msg");
//응답 인코딩 설정
resp.setCharacterEncoding("utf-8");
//응답 컨텐츠 type 설정 (웹브라우저에 어떤 컨텐츠를 응답할것인지 알려서 준비를 시킨다)
resp.setContentType("text/html;charset=utf-8");
//요청을한 클라이언트에게 응답할수 있는 객체의 참조값 얻어오기
PrintWriter pw = resp.getWriter();
pw.println("<!DOCTYPE html>");
pw.println("<html>");
pw.println("<head>");
pw.println("<meta charset=\"UTF-8\">");
pw.println("<title></title>");
pw.println("</head>");
pw.println("<body>");
pw.println(msg + "가 전송되었습니다.");
pw.println("</body>");
pw.println("</html>");
pw.close();
}
}
데이터가 전송된 것을 볼 수 있습니다. Servlet에 대한 자세한 내용은 https://e-you.tistory.com/260 여기에서 확인해주세요.
2. JSP 예제
이제 jsp를 사용해봅시다.
WebContent에 send.jsp를 생성해줍시다.
send.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//한글 인코딩 설정
request.setCharacterEncoding("utf-8");
//post방식 전송되는 파라미터 추출
String msg = request.getParameter("msg");
System.out.println("클라이언트가 전송한 문자열 : " +msg);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
okay~
<%=msg %>
</body>
</html>
jsp는 html문서에 자바코드를 넣은 것입니다.
자바 코드를 넣기 위해서는 <%... %> 을 사용합니다.
전달받은 파라미터를 얻기 위해서 request.Parameter()을 사용합니다.
이 jsp파일을 실행하면 javax.servlet.http.HttpServlet 클래스를 상속받은 Java 소스 코드로 변환한 다음 컴파일되어 실행됩니다. JSP 파일을 Servlet 클래스로 변환하고 실행시켜 주는 역할을 하는 프로그램을 서블릿 컨테이너라고 부릅니다. 대표적인 서블릿 컨테이너에 톰캣이 있습니다.
간단히 말하면 jsp파일을 실행하면 톰캣이 Servlet 클래스로 변환시켜준다고 보시면 되겠습니다.
전송된 것을 볼 수 있습니다.
'WEB' 카테고리의 다른 글
[Eclipse] 프로젝트 import 할 때 나타나는 버전 오류 해결법 (0) | 2021.11.29 |
---|---|
[JSP/Servlet] session 구현해보기 / 로그인 유지하는 방법 (0) | 2021.11.29 |
[WEB] GET과 POST의 차이 (0) | 2021.11.26 |
[WEB] Servlet을 사용하여 동적 웹 사이트 만들어보기 (0) | 2021.11.26 |
[WEB] Servlet VS JSP (0) | 2021.11.26 |