//기본형 <servlet> <servlet-name>서블릿이름(적당한 이름으로 내가 지정)</servlet-name> <servlet-class>서블릿 클래스 위치(java 패키지이름까지 함께 작성)</servlet-class> </servlet> <servlet-mapping> <servlet-name>위와 동일한 서블릿이름</servlet-name> <url-pattern>접근할 주소이름</url-pattern> </servlet-mapping>
<h2>2. EL 표현식 사용 cnt값 출력 (속성-attribute라고 부름) </h2> ${ requestScope.cnt+100 }<br> <!-- requestScope생략가능 --> ${ cnt+100 } <br>
<h2>4. requestScope(영역의 표시)없을경우 어떤 순서로 처리되는가? </h2> <!-- 왜 생략이 가능할까? 생략되면 어떤 방식으로 구동할까? 영역의 표시가 생략되거나 지정하지 않은 경우 모든 영역을 순차적으로 돌아다니면서 검색한다. 영역의 크기가 작은순부터 : pageScope > requestScope > sessionScope > applicationScope 즉 pageScope에서 검색하여 있으면 찾아와서쓰고 없으면 requestScope 검색하여 영역모두에서 찾기를 반복한다 중요 : 이전 영역에서 해당 값을 발견한 경우 다음 영역의 값을 사용할 수 없음. --> session: ${sessionScope.cnt+100 }<br>
//출력값 1. 스크립트 엘리먼트 (변수라고 부름) 전달값 : 1100 2. EL 표현식 사용 cnt값 출력 (속성-attribute라고 부름) 100 1100 4. requestScope(영역의 표시)없을경우 어떤 순서로 처리되는가? session: 1100
//3.ItwillBean 객체 생성 후 정보 저장 -> request영역에 저장 (객체전달하는 경우) //3-1.객체생성 ItwillBean ib = new ItwillBean(); ib.setId("admin"); ib.setPw("1234"); ib.setName("관리자"); ib.setAge(20); ib.setTel("010-1234-5678"); //3-2. request영역에 저장 request.setAttribute("itBean", ib); //4. ItwillUser 사용자 객체생성 (객체안의 객체까지 전달하는 경우) ItwillUser kim = new ItwillUser("김학생", 22, new Phone("노트20", "010-4567-4567")); request.setAttribute("kim", kim); //2. BeanTest.jsp페이지생성 : forward사옹해서 이동 RequestDispatcher dis = request.getRequestDispatcher("./EL/BeanTest.jsp"); dis.forward(request, response); } }
<h3>TestServlet2에서 전달받은 객체 정보 출력</h3> 아이디 : ${requestScope.itBean.id} <br> 이름 : ${requestScope.itBean.name} <br> 비밀번호 : ${itBean.pw} <br> 나이 : ${itBean.age} <br> 전화번호 : ${itBean.tel} <br>
<h3>TestServlet2에서 전달받은 객체의 객체 정보 출력</h3> 이름 : ${ requestScope.kim.name }<br> 나이 : ${ requestScope.kim.age }<br> 전화번호 : ${ requestScope.kim.note20.tel }<br> 모델 : ${kim.note20.model }<br>
//출력값 TestServlet2에서 전달받은 객체 정보 출력 아이디 : admin 이름 : 관리자 비밀번호 : 1234 나이 : 20 전화번호 : 010-1234-5678 TestServlet2에서 전달받은 객체의 객체 정보 출력 이름 : 김학생 나이 : 22 전화번호 : 010-4567-4567 모델 : 노트20
//1. @WebServlet(주소)어노테이션 - 특수한 기능 가짐 : 해당 클래스가 서블릿처럼 사용되도록 지정. //web.xml파일에 매핑해썬 정보 없이 바로 지정한 주소로 접근 가능 //web.xml에서 아래코드를 지정해줄 필요가 없다 /*<servlet> <servlet-name>test3</servlet-name> <servlet-class>com.itwill.ex.TestServlet3</servlet-class> </servlet> <servlet-mapping> <servlet-name>test3</servlet-name> <url-pattern>/test3.com</url-pattern> </servlet-mapping>*/