JSP(JavaServerPages)

Jan 25, 2024
JSP(JavaServerPages)
 
 
이전 블로그와 이어진다.
 
JSP(JavaServerPages) 는 Java 기반의 서버 측 웹프로그래밍 언어이고 템플릿 엔진이라고도 한다.
JSP 는 html 코드에 Java 코드를 넣어 실행하면 html 코드가 자동으로 서블릿으로 변환되며, 웹 어플리케이션 서버에서 동작된다.
 
💡
Java에 html 을 사용하면 가독성도 불편하고 사용이 어렵다. JSP 를 사용하면 html 코드에 자바 코드를 입력하면 알아서 서블릿을 해주기 때문에 매우 편하다.
 
notion image
 
인텔리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>
 
notion image
notion image
 
💡
위의 코드처럼 “ <%@ page contentType="text/html;charset=UTF-8" language="java" %> “ 를 공통적으로 사용한다면, 해당 코드들을 하나로 묶어버리면 훨신 공통 로직을 처라하기 쉽다. 그래서 프론트컨트롤러를 만들어서 서블릿을 하나로 모은다.
 
Share article
RSSPowered by inblog