JSP
Java Server Pages 의 약자이지만, 오라클과 상표권 문제로 Jakarta Server Page로 변동되었습니다.
HTML 코드와 JAVA 코드를 사용하여 동적인웹페이지를 만들 수 있는 웹어플리케이션 도구입니다.
JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 WAS(Wev Application Server)에서 동작되면서 필요한 기능을 수행,
생성된 데이터를 웹페이지와 함께 클라이언트로 응답합니다.
- html코드는 그냥 입력하면 되고, 자바 코드는 <% %> 사이에 치면 된다.
- 스크립틀릿(scritlet) - <%...%>이 태그 안에 있는 Java 코드
- 지시자 - <%@ %>
- 표현식 - <%= %> 출력이 된다. *세미콜론 사용하지 말것.
Servlet
Server 와 Applet의 합성어로, 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램을 말합니다.
클라이언트의 요청을 처리하고, 그 결과를 반환하는 역할을 해줍니다.
- HttpServlet 클래스를 상속받아야 서블릿으로 동작함
- web.xml 파일에 서블릿 클래스를 설정
MVC패턴에서
V - jsp
C - servlet
라고 생각하시면 됩니다.
@WebServlet("./test.do")
public class Test extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
}
@Override
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
}
}
Web.xml 에 만든 서블릿을 등록, URL 매핑을 해주시거나, @WebServlet 어노테이션을 사용하여 매핑을 해줍니다.
Web.xml 파일
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/test.do</url-pattern>
</servlet-mapping>
</web-app>
해당하는 서블릿에서 init(), service() 메소드를 호출-
doGet() 또는 doPost() 메소드를 호출하여 동적 페이지를 생성 후, response 합니다.
쉽게 예를 들자면, 로그인을 할 때 서버가 클라이언트에서 입력되는 아이디와 비밀번호를 확인하고 그 결과를 응답하는데,
이러한 역할을 수행하는 것이 서블릿 입니다.
* jsp는 wepapp 경로에, servlet 파일은 java경로에 만들기.
*WEB-INF 아래 있는 jsp페이지는 URL 접근이 불가. 서블릿을 경유하여 RequestDispatcher를 사용하여 요청해야함. 그러면 WEB-INF 아래 있는 경로이더라도 페이지 호출이 가능(다만 scope는 request scope를 갖게 된다 - 주의)
'코딩 > jsp, servlet' 카테고리의 다른 글
[jsp] Cookie (쿠키) 생성, 삭제, 읽기 (0) | 2023.03.17 |
---|