1. jsp/servlet 에서 한글처리 방식은? (다국어 처리)
- Tomcat서버의 기본 문자 처리 방식은 IOS 8859 1 방식이기 때문에 개발자가 별도의 한글 인코딩을 하지 않으면 디폴트로 IOS 8859 1 로 잡혀서 한글이 깨져 보이는 현상이 생긴다.
- 2가지 방식의 처리 방법이 있다. Get방식(서버)과 Post 방식(servlet)
- 하지만 서버는 건들지 않는게 좋다! sevlet 파일을 수정하자.
- UTF-8 (유니코드) 을 쓰자.
2. 아래의 선택자에 대하여 설명하시오.
>
+
~
a[href="https://net.tutsplus.com"]
자손 선택자 (자세한 내용은 아래 5번에서)
> (element1 > element2)
직계 자식만 선택함 = 자손 선택자
-
#container > ul 는 div의 직계 자손인 ul만 대상이고 그 자식 li의 자식 ul은 선택하지 않는다.
동위 선택자
<h3 id="title">동위 선택자(+,~)</h3>
<div>div_01</div>
<div>div_02</div>
<div>div_03</div>
<div>div_04</div>
<div>div_05</div>
+ (element1 + element2)
- 예시에서 h3+div
- 동위 선택자, 인접 선택자 라고 부름
- 같은 수준에 있는 바로 옆에 있는 걸 말한다.(다음거)
~ (element1 ~ element2)
- 예시에서 h3~div, #title~div(id가 title)
- 같은 수준에 있는 전체를 말함
속성 선택자 (attribute selector)
- [대괄호]안에 있는 특성을 가진 모든 요소를 선택함
- 형태 : [attribute] [attr=value] [attr~=value] [attr|=value] [attr^=value] [attr$=value] [attr*=value]
3. 웹 어플리케이션 감시를 위한 프로그래밍 방법은?
ServletContextListener(웹어플리케이션 감시)
- 웹어플리케이션의 생명주기 LifeCycle 를 감시한다.
- 해당 메소드가 웹 어플리케이션의 시작과 종료 시 호출 된다.
- contextInitialized (), contextDestroyed() 함수를 사용해 시작할 때, 종료할 때 호출되게 한다.
방법
1 ) 리스너 클래스 제작 (.java)
contextInitialized (), contextDestroyed() 함수 오버라이드
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextDestroyed");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextInitialized");
}
}
web.xml 파일에 리스너 클래스 작성
<listener>
<listener-class>com.javalec.ex.ContextListenerEx</listener-class>
</listener>
4. 데이터 공유를 위한 ServletContext와 서블릿 초기화 파라미터 ServletConfig에 대하여 설명하시오.
초기화 파라미터
처음 WAS가 시작될 때 읽어 들이는 파라미터값을 초기화 파라미터라고 한다.
- 서블릿 초기화 파리미터(ServletConfig)와 2) 컨텍스트 초기화 파라미터가 있다.
초기화 파라미터를 사용하는 이유
- DB에 저장되는 내용들은 보안이 필요한 내용들이라 자바로 코딩하는 것 보다 초기화 파라미터를 이용하는게 좋다.
- 유지보수 관점에서 변경 가능한 파라미터를 DD(Deployment Descriptor)에 읽어 사용하도록 함 → 서블릿 소스 변경 부담을 줄임 예) 로그 파일명, DB테이블명 & 사용자명
서블릿 초기화 파라미터(Servlet Initialize Parameter): ServletConfig
- 특정 Servlet 이 생성될 때 초기에 필요한 데이터들이 있다 . (특정 경로 및 아이디 정보 등) 이러한 데이터들을 초기화 파라미터라고 한다.
- key, value 형태로 들어간다.
- web.xml 에 기술하고 Servlet 파일에서는 ServletConfig 클래스를 이용해서 접근 사용 하거나 Servlet 파일에 직접 기술하는 방법이 있다.
- Servlet 파일에 @annotation을 이용해서 직접 기술하는 방법보다 web.xml에 작성하는 것이 더 좋다. (직관적이고 이해하기도 좋다.)
서블릿 초기화 파라미터 설정 방법
1) web.xml에 다음과 같이 내용 작성 후 (예시)
<servlet>
<servlet-name>ServletInitParam</servlet-name>
<servlet-class>com.javalec.ex.ServletInitPAram</servlet-class>
<init-param>
<param-name>id</param-name>
<param-value>abcdef</param-value>
</init-param>
<init-param>
<param-name>pw</param-name>
<param-value>1234</param-value>
</init-param>
<init-param>
<param-name>path</param-name>
<param-value>C:\\javalec\\workspace</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ServletInitParam</servlet-name>
<url-pattern>/InitParam</url-pattern>
</servlet-mapping>
</web-app>
ServletConfig메소드이용해서 데이터 불러오기
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = getInitParameter("id");
String pw = getInitParameter("pw");
String path = getInitParameter("path");
- web.xml 설정하면 서버 실행해서 메모리에 올리면 가장먼저 web.xml을 읽어들인다.
- 작성한 서블릿은 예시와 같이 com.javalec.ex.ServletInitPAram 해당 클래스에서만 사용할 수 있다. → 하나의 클래스에 종속되어있다.
Context Initialize Parameter: ServletContext(데이터 공유)
- 여러 Servlet 에서 특정 데이터를 공유해야 할 경우 context parameter 를 이용해서 web.xml 에 데이터를 작성한다.
- ServletConfig초기화 파라미터 작성은 해당 클래스에 종속되지만 ServletContext는 Servlet 에서 공유하면서 사용 할 수 있다.
- 마찬가지로 key, vlaue 형태로 들어간다
<context-param>
<param-name>id</param-name>
<param-value>abcdef</param-value>
</context-param>
<context-param>
<param-name>pw</param-name>
<param-value>1234</param-value>
</context-param>
<context-param>
<param-name>path</param-name>
<param-value>C:\javalec\workspace</param-value>
</context-param>
</web-app>
함수를 호출한다.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = getServletContext().getInitParameter("id");
String pw = getServletContext().getInitParameter("pw");
String path = getServletContext().getInitParameter("path");
5. 후손 선택자와 자식 선택자에 대하여 설명하시오.
트리구조로 관리하게 되어있다. div 태그 아래 div , div 이런식으로
후손 선택자 (element element)
- 앞의 element의 전체 후손이 선택된다.
div li { //후손
font-size: 25px;
}
<!-- div 하고 한칸 띄우고 li 하면 li가 후손 선택자임을 말함 -->
자손 선택자 (element > element)
- 직계 자식만 선택함 = 자손 선택자
div > h1 { //자손
font-size: 25px;
}
<!-- div가 크니까 div 바로 밑에 있는h1을 말함 -->
'IT 면접족보 > 자바 면접족보' 카테고리의 다른 글
자바 수업 정리 -css:속성 | JSP:내장객체,redirection,forward(29일 차) (0) | 2021.01.05 |
---|---|
자바 수업 정리 -css-display,font,overflow | jsp-정적/동적문서, tags(28일차) (1) | 2021.01.05 |
자바 수업 정리 -선택자, 시멘틱, servlet(26 일차) (0) | 2020.12.30 |
자바 수업 정리 -HTML | doGet(),doPost(),Context Path(25 일차) (0) | 2020.12.30 |
자바 수업 정리 -웹 프로그램의 동작,Tomcat, JSP와 Servlet문서 작성(24 일차) (0) | 2020.12.28 |