JSP(JavaServerPages) 는 Java 기반의 서버 측 웹프로그래밍 언어이고 템플릿 엔진이라고도 한다.
JSP 는 html 코드에 Java 코드를 넣어 실행하면 html 코드가 자동으로 서블릿으로 변환되며, 웹 어플리케이션 서버에서 동작된다.
Java에 html 을 사용하면 가독성도 불편하고 사용이 어렵다. JSP 를 사용하면 html 코드에 자바 코드를 입력하면 알아서 서블릿을 해주기 때문에 매우 편하다.

인텔리J 의 webapp 폴더에서 JSP 파일을 만들 수 있다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
</body>
</html>
JSP 는 기본적으로 html 형식으로 되어있고, 자바 코드 입력을 원한다면 <% %> 내부에 코드를 입력한다. 만약 출력값이 있는 데이터를 원한다면 <%= %> 내부에 입력하면 된다.
/join-form.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
LocalDateTime now = LocalDateTime.now();
%>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>회원가입 페이지<%=now%> </h1>
<hr>
<form action="/user/join.jsp" method="">
<input type="text" placeholder="username" name="username">
<input type="text" placeholder="password" name="password">
<input type="text" placeholder="email" name="email">
<button>회원가입</button>
</form>
</body>
</html>
/join.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
response.setHeader("Content-Type","text/html; charset=utf-8");
String username = request.getParameter("username"); //버퍼에 있는 값을 스플릿 해서 키 값을찾아줌
String password = request.getParameter("password");
String email = request.getParameter("email");
System.out.println("username :" + username);
System.out.println("password :" + password);
System.out.println("email :" + email);
if(username.length() <3 || username.length() >10){
response.getWriter().println("<h1>username 글자수가 3~10 사이여야 합니다.");
return ;
}
resp.sendRedirect("/board/main.jsp");
%>
/main.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>main page </h1>
<hr>
</body>
</html>


위의 코드처럼 “ <%@ page contentType="text/html;charset=UTF-8" language="java" %> “ 를 공통적으로 사용한다면, 해당 코드들을 하나로 묶어버리면 훨신 공통 로직을 처라하기 쉽다. 그래서 프론트컨트롤러를 만들어서 서블릿을 하나로 모은다.
Share article