본문 바로가기
JSP

[JSP] servlet 사용하기

by YOU R PLANET 2021. 12. 19.

서블릿을 사용하면 기능별 페이지명을 url에 노출되지 않아 보안에 더 유리하다.


1.  class에 HttpServlet 상속받기
@SuppressWarnings("serial")
@WebServlet("/join.do")
public class JoinAction extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		
		reqPro(request , response);
	}	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		reqPro(request , response);
	}
	
	protected void reqPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
				
		RequestDispatcher dis = request.getRequestDispatcher("/03_servlet/01_join.jsp");
		dis.forward(request, response);
	}
}
 필수
@SuppressWarnings("serial")
@WebServlet("/join.do") // 해당 페이지명을 정한다.
HttpServlet 을 상속받으면, doGet() doPost() 메소드가 생긴다. 
-> JSP 에서 POST/GET으로 보내면 각 메서드가 실행된다.

∴ 같은 기능을 하는 새로운 메서드를 만들어 어디로 가든 무조건 실행되게 해야 한다. (reqPro)

2. class 에서 다시 JSP로 보내준다.
RequestDispatcher dis = request.getRequestDispatcher("/03_servlet/01_joinView.jsp");
dis.forward(request, response);
RequestDispatcher dis = request.getRequestDispatcher("주소");
dis.forward(request, response);

PLUS) 절대 경로 가져오기

//뒤에 페이지명을 적어 다음과 같이 절대 경로를 사용한다.
<c:set var="contextPath" value="${ pageContext.request.contextPath }" />

<script>
location.href="${contextPath}/join.do";
</script>

댓글