프로그래밍 언어/Java
Java) 11/10 - JSP (View), 네비게이션
nomfang
2021. 11. 10. 16:06
728x90
반응형
# JSP
jsp는 MVC모델의 View를 맡아 네비게이션/결과 페이지를 제공하는?
-> 태그 기반으로 작성됨
EL 기법
request.getParameter("cnt"); 의 경우
<a href=life2.jsp?cnt="+ count +">result page로 값을 전달
jsp 파일 : ${param.cnt} 로 값을 전달 받는다
# Thread
서블릿 컨텍스트와 서블릿은 이미 생성되어 있음
클라이언트 요청 시 -> request(thread), response 생성됨
LIFE1
@WebServlet("/LIFE1")
public class LifeCycleTest1 extends HttpServlet {
private int count = 0;
private static final long serialVersionUID = 1L;
public LifeCycleTest1() {
super();
// TODO Auto-generated constructor stub
System.out.println("1. Servlet 생성");
}
public void init() throws ServletException {
// TODO Auto-generated method stub
System.out.println("2. init() call by container");
}
public void destroy() {
// TODO Auto-generated method stub
System.out.println("4. destroy() call by container");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("service() doGet() call by container");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html><body bgcolor='yellow'>");
out.println("<h3>Life Cycle Callback Method.. </h3>");
out.println("<b> Count :: " + ++ count + "</b>");
out.println("</body></html>");
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/*
* LIFE1의 문제점
* 1. Ready On 상태 부분이 요청 시 함께 진행됨
* -> load on startup 옵션 지정
* -> xml, annotation 기반
*
* @WebServlet(urlPatterns= {"LIFE2"}, loadOnStartup=1)
*/
@WebServlet(urlPatterns= {"/LIFE2"}, loadOnStartup=1)
/*
* LIFE2의 문제점
* 1. 서버가 꺼지게 되면 필드 값을 영구적으로 잃어버리게 된다
* -> 서블릿 인스턴스가 Death되기 때문에
*
* 해결책
* -> 데이터를 저장 (라이프 사이클 메소드를 연계)
*
* destroy() : 죽기 직전 반드시 호출 - Database에 저장 가능 (Setter or Writer)
* init() : 새롭게 Ready On 할 때, 저장 된 Database의 값을 받아올 수 있다 (Getter or Reading)
*
*/
반응형