1. Session이란?
· 쿠키와 동일하게 서버와의 관계를 유지하기 위한 수단으로 사용되며, 내장객체이기 때문에 객체 생성(new)를 하지 않고,
객체를 통해 데이터를 저장/사용/삭제한다.
· session은 쿠키와 다르게 데이터가 서버에 저장되며(데이터 전달x), 웹브라우저의 쿠키 영역에 session id가 저장된다.
(쿠키는 웹브라우저에, session은 서버와 웹브라우저 쿠키영역에 데이터 저장)
· 연결이 지속되는 이유는 클라이언트 요청에 따른 정보를 서버가 id를 생성하여 서버에 저장하고, 관계를 유지시키기 때문이다.
2. DBMS의 의미와 종류는?
· Data Base Management System의 약자로, 데이터베이스 관리 시스템을 뜻하며, 데이터베이스를 조작하는 별도의
소프트웨어를 말한다.
· 종류로는 Oracle(오라클에서 개발), SQLServer, MySQL, MSSQL 등이 사용된다.
※DB란?
· 일상생활에서 수 없이 다양하고 많은 데이터들이 사용되는데, 많은 데이터를 관리하기 위한 수단으로 데이터베이스가 사용된다.
· DB는 여러 사람이 공유하고 사용할 목적으로 통합하여 관리되는 데이터의 집합으로 서로 관련있는 데이터들의 모임이다.
· 데이터베이스는 데이터의 추가, 삭제, 이동 등의 기능이 쉽게 되어있어 사용자에게 빠른 시간 내에 제공한다.
이 때 데이터베이스를 관리하는 도구로 사용되는 시스템이 DBMS이다.
3. Session id란?
· 클라이언트가 서버에 접근 시, 서버에서는 session 공간에 session id를 생성하여 데이터를 저장하고,
정보를 cookie처럼 객체화 시켜 클라이언트 쪽에 전송하는 방법이 아닌 웹브라우저 쿠키 영역에 저장한다.
· 클라이언트에서 재 접근 시, 서버에서는 웹브라우저의 쿠키를 확인하여 해당 session id와 일치하는지 구분하여 응답한다.
(session id를 통해 같은 user 인지 구분)
· session id 공간은 시간이 지정되기 때문에 일정 시간이 경과하면 session id는 소멸된다.
session default 시간은 기본적으로 30분으로 설정되기 때문에 시간이 경과하면 재 로그인을 해야한다.
· session id는 브라우저 당 1개씩 제공하기 때문에, 로그인 한 후에 크롬창과 마이크로소프트(익스플로어) 창을 띄운다면,
크롬은 자동로그인 상태로 익스플로어는 새로 로그인을 해야한다.
· session id는 보안 상의 이유로 웹피이지에 접속할 때마다 id명은 변경된다.
4. 오류페이지 처리 방법 2가지를 설명하시오.
· JSP/Servlet에서 예외가 발생한 경우, Tomcat 서버에서는 기본적으로 예외 페이지가 제공되지만 서버에 대한
기본정보가 표기되어있어 보안이나 외관상의 문제가 발생할 수 있으므로 정보 누출을 방지 하기 위해 사용된다.
· 404 오류는 사용자가 요구한 웹페이지가 존재하지 않는 경우(경로가 잘못된 경우) 발생되며,
500 오류는 문자 입력이 잘못된 경우(문법 오류) 발생된다.
1) page 지시자를 이용
<%@ page errorPage="errorPage.jsp" %> 와 같이 지시자를 이용하여 오류 발생 시 errorPage.jsp로 이동시킨다.
2) web.xml 파일 이용
error404.jsp와 error500.jsp를 미리 생성해두어 web.xml로 예외 처리하는 방법이 있다.
5. bean이란?
· 반복적인 작업을 효율적으로 하기 위해 사용되며, java의 속성과 메소드로 이루어진 class이다.
(jsp 페이지에 java 코드가 혼재한다면 다소 복잡해 보일 수 있기 때문에 bean을 사용하여 로직 부분을 분리)
· jsp에서 bean은 액션 태그를 이용하여 사용하고, bean class에는 디폴트 생성자와 멤버변수에 접근 가능한
getter와 setter 메소드가 존재해야 한다.
· bean 액션 태그는 다음과 같이 사용된다.
※연습문제※
♣가위바위보 게임을 작성하시오♣
<구현 화면>
<game.html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<style>
img{
width:550px;
height:400px;
}
</style>
</head>
<body>
<h1>가위바위보 게임</h1>
<img src="https://img.fmnation.net/files/attach/images/6765486/663/423/024/34e3fa17c49a31cb1bd9a3b3e528172e.jpeg"><br/>
<form action="game2.jsp" method="post">
<select name="name">
<option value="1" selected="selected">가위</option>
<option value="2">바위</option>
<option value="3">보</option>
</select>
<input type="submit" value="제출">
</form>
</body>
|
cs |
<game.jsp>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<body>
<%!
int my, com;
%>
<%
request.setCharacterEncoding("EUC-KR");
my = Integer.parseInt(request.getParameter("name"));
com = (int)(Math.random()*3) + 1;
%>
<h1>당신이 낸 것</h1>
<%
if(my == 1){
%>
<img src="가위.JPG"><br/>
<%
}else if(my == 2){
%>
<img src="바위.JPG"><br/>
<%
}else{
%>
<img src="보.JPG"><br/>
<% } %>
<h1>컴퓨터가 낸 것</h1>
<%
if(game.getCom() == 1){
%>
<img src="가위.JPG"><br/>
<%
}else if(game.getCom() == 2){
%>
<img src="바위.JPG"><br/>
<%
}else{
%>
<img src="보.JPG"><br/>
<%
}
if(my == com){
out.println("동점");
}else if((my==1)&&(com==2)){
out.println("패");
}else if((my==1)&&(com==3)){
out.println("승리");
}else if((my==2)&&(com==1)){
out.println("승리");
}else if((my==2)&&(com==3)){
out.println("패");
}else if((my==3)&&(com==1)){
out.println("패");
}else if((my==3)&&(com==2)){
out.println("승리");
}
%><br/>
<a href="game.html">다시하기</a>
</body>
|
cs |
'bitcamp > 면접족보' 카테고리의 다른 글
면접족보 21/01/08_그룹함수, JDBC (0) | 2021.02.13 |
---|---|
면접족보 21/01/07_SQL문 (0) | 2021.02.13 |
면접족보 21/01/05_쿠키, Float 속성 (0) | 2021.02.13 |
면접족보 21/01/04_Redirect, Forward (0) | 2021.02.13 |
면접족보 20/12/31_CSS, JSP태그 (0) | 2021.02.13 |