[Servlet&JSP] 이클립스, 톰캣 UTF-8 설정[Servlet&JSP] 이클립스, 톰캣 UTF-8 설정

Posted at 2020. 8. 4. 00:35 | Posted in 카테고리 없음
반응형






■ 이클립스 작업파일 UTF-8 기본 설정






이클립스 상단 메뉴에서 Window > Preferences 메뉴를 선택하여 환경설정 편집창을 오픈해 준다.








이클립스 환경설정창이 오픈되면 General > Content Type 카테고리를 선택하고


Content Types 메뉴에서 Java Class File을 선택 하여준다.





이후 하단의 Default Encoding 입력란에 UTF-8을 직접 기입하고


Update 버튼을 클릭해준다.





다시 좌측 카테고리의 General > Workspace 카테고리를 열어준다.





Text file encoding 선택 박스에서 UTF-8을 선택하고 Apply 버튼을 클릭해준다.










Encoding의 Defalut 값 UTF-8을 선택하고 Apply 버튼을 클릭한다.






이제 Web 프로젝트에서 중요한 CSS, HTML, JSP, XML 파일들에대한 문자 인코딩을 UTF-8  설정으로 변경할 것이다.


먼저 Web > CSS Files 카테고리를 선택한다.



CSS Files의 Encoding을 ISO 10646 / Unicode( UTF-8 )을 선택하고 Apply 버튼을 클릭해준다.





다음으로 Web > HTML Files 카테고리를 선택한다.




HTML Files의 Encoding을 ISO 10646 / Unicode( UTF-8 )을 선택하고 Apply 버튼을 클릭해준다.





이번에는 Web > JSP Files 카테고리를 선택한다.





JSP Files의 Encoding을 ISO 10646 / Unicode( UTF-8 )을 선택하고 Apply 버튼을 클릭해준다.







마지막으로 XML > XML Files 카테고리를 선택한다.





XML Files에서도 Encoding을 ISO 10646 / Unicode( UTF-8 )을 선택하고 Apply 버튼을 클릭해준다.







■ 톰캣 서버 UTF-8 설정하기




이제 이클립스 Projcet의 Serves 폴더에 위치한 Serves > Tomcat 버전 > Server.xml 파일에서


아파치 톰캣의 문자셋 설정을 UTF-8로 변경할 것이다.








기본값 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 으로 되어 있는 부분을 찾고


해당 <Connector> 입력정보 란에 URIEncoding="UTF8" 을 추가해 준다.





<Connector URIEncoding="UTF8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>




위와같이 모든 설정을 완료해주면, 이제 웹 프로젝트의 출력결과에서도 한끌이 깨지는것을 막아줄 수 있다.




반응형
//

[Servlet&JSP] Apache Tomcat 직접 설치 및 Eclipse 적용하기[Servlet&JSP] Apache Tomcat 직접 설치 및 Eclipse 적용하기

Posted at 2020. 8. 2. 17:15 | Posted in 카테고리 없음
반응형





■ 아파치 톰캣 원하는 버전 직접 설치하기





이클립스를 통해 손쉽게 아파치 톰캣을 설치할 수 도 있지만.


https://tomcat.apache.org 사이트를 통해 직접 설치하는 것을 되도록 권장한다.





사이트에 접속하여 좌측 메뉴의 카테고리에서


다운로드 부분에서 원하는 톰캣 버전을 선택하고


32-bit/64-bit Windows Service Installer를 선택하여 apache-tomcat-버전정보.exe 파일을 다운받는다.



혹 이전 버전의 아파치 톰캣이나, 특정 버전의 톰캣의 설치를 해야 하는경우에는


마찬가지로 좌측 메뉴의 카테고리에서


Archives 메뉴를 선택하고 나면 index of /dist/tomcat 창이 뜨는데.





여기서 원하는 항목을 따로 받아서 설치를 진행하도록 하자.




다시 다운받은 apache-tomcat-버전정보.exe 파일을 실행한다.






Next 버튼을 클릭하여 설치를 진행한다.







I Agree 버튼을 클릭하여, 라이센스에 동의한다.








설정 

설   명

 Start Menu Items

 · Windows 시작메 뉴에 등록 여부

 Documentation

 · Tomcat 개발문서 설치

 Manager

 · Tomcat 매니저 설치

 Host Manager

 · 호스트 매니저 설치

 Examples

 · 샘플, 예제파일 생성



이제 설치 옵션에 관해 물어보는데 Start Menu Items 하나만 체크하여


Minimum 버전으로 설치를 진행할 것이다.


Next 버튼을 클릭해준다.





다음으로 기본포트를 8080에서 변경할 수 있다.





8080포트는 많이 사용되는 포트이기때문에 다른 포트 번호로 변경을 하고


Next 버튼을 클릭하여 진행한다.




Java Virtual Machine 속성은 윈도우 환경변수에 설정되어있는 JRE 의 경로가 기본적으로 잡힌다.





특별히 변경을 해야 하는 경우가 아니라면 Next 버튼을 클릭하여 설치작업을 계속 진행하자.




마지막으로 아파치 톰캣의 설치경로를 지정해야 하는데.


기본적으로는 내 PC > C드라이브 > Program Files( C:\Program Files\Apache Software Foundation )가


디폴트로 설정된다.





경로설정을 마쳤다면 Install 버튼을 클릭하면 이제 톰캣의 설치가 진행된다.






톰캣의 설치가 진행중인 화면이 나타난다.





설치가 완료되면 Finish 버튼을 클릭하면 톰캣의 설치가 완료되었다.











■ 설치한 톰캣, 이클립스에 적용하고 실행하기




이클립스 상단 메뉴에서 Window > Preferences 메뉴를 선택하여 환경설정 창을 실행한다.








환경설정( Preferences )창을 띄우면 좌측 카테고리에서 Server > Runtime Environments 설정에 들어간다.




Addition 버튼을 클릭하여 설치한 톰캣을 추가해 줄 것이다.





위에서 설치한 톰캣의 버전과 일치하는 Apache Tomcat을 설치해준다.




일치하는 톰캣의 버전을 선택하고 Finish 버튼을 클릭한다.





Browse 버튼을 클릭하여 톰캣의 설치 경로를 지정해준다.




이클립스 2020-06 버전에 항해 v8.5 이상의 경우 Donwload and install을 진행할 수 없었다.


그렇기에 v8.5 버전 이상을 설치하기위해서는 톰캣을 직접 설치해야 한다.




Finish 버튼을 클릭하여 진행하자.





Server Runtime Environments에 설정한 톰캣이 추가되면



Apply and Close를 선택하여 변경내역을 저장하고 환경설정 창을 닫는다.





이제 이클립스 서버메뉴에서 새롭게 생성한 톰캣 서버를 추가해 주자.





그리고 설치한 톰캣과 같은 버전을 설정해 준다.






Finsih 버튼을 클릭하면 이클립스에 설치한 톰캣이 적용된다.




마지막으로 셋팅된 톰캣 Server localhost 버튼을 더블클릭하여 Overview 설정을열고




Tomcat admin port를 8005로 변경해 주면 된다.



반응형
//

JSP 내장객체JSP 내장객체

Posted at 2020. 7. 28. 00:35 | Posted in 카테고리 없음
반응형




request 내장 객체


웹 서비스라 함은 웹 기반으로 클라이언트의 요청을 받아서 어떤 응답을 제공해주는 서비스를 말합니다.


이런 웹 서비스를 위한 클라이언트와 웹 서버 사이의 요청과 관련된 정보는 request 객체에 저장되어 관리된다.


그러므로 request 객체를 파악하면 클라이언트에서 서버로 전송되는 데이터를 알 수 있다.


다음은 브라우저의 요청이 있을 때 이와 관련된 정보들을 알려주는 메서드이다.



메 서 드

설  명

 getContextPath( )

 · JSP 페이지가 속한 웹 어플리케이션의 컨텍스트 패스를 구한다.

 getMethod( )

 · 요청 방식이 GET 방식인지 POST 방식인지 알려준다.

 getRequestURL( )

 · 요청 URL을 구한다.

 getRequestURI( )

 · 요청 URL에서 쿼리 스트링을 제외한 부분을 구한다.

 getQueryString( )

 · 요청 URL 다음에 오는 쿼리 스트링을 구한다.

 getSession( flag )

 · 요청 관련된 세션 객체를 구한다.

 getRequestDispacher( path )

 · 지정 로컬 URL에 대한 RequestDispacher 객체를 구한다.

 getRemoteHost( )

 · 요청한 호스트의 완전한 이름을 구한다.

 getRemoteAddr( )

 · 요청한 호트의 네트워크 주소를 구한다.

 getRemoteUser( )

 · 요청한 사용자의 이름을 구한다.

 getSession( )

 · 세션 객체를 구한다.

 getServerName( )

 · 서버의 이름을 구한다.

 getProtocol( )

 · 사용 중인 프로토콜을 알려준다.




# 소스코드

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>JSP</title>

</head>

<body>

컨텍스트 패스 : <%= request.getContextPath()  %><br/>

요청방식 패스 : <%= request.getMethod()  %><br/>

요청한 URL : <%= request.getRequestURL()  %><br/>

요청한 URI : <%= request.getRequestURI()  %><br/>

서버의 이름 : <%= request.getServerName()  %><br/>

프로토콜 : <%= request.getProtocol()  %><br/>

</body>

</html> 




# 출력결과



위의 실행 결과를 보면 요청 관련 메소드가 어떨 때 쓰이는지 한눈에 파악할 수 있을 겁니다.


지금까지 요청( request )관련 정보를 알려주는 메소드를 살펴보았습니다.


이번에는 request 객체의 요청 파라미터 관련 메서드에 대해어 살펴보겠습니다.


다음은 요청 파라미터 관련 메서드를 정리한 표입니다.



메 서 드

설  명

 getParameter( String name )

 · 지정한 이름의 파라미터를 구한다.

 · 지정한 이름의 파라미터가 여러개 있을 경우에는 첫 번째 파라미터의 값을 구한다.

 getParameterNames( )

 · 모든 파라미터의 이름을 구한다.

 getParameterValues( String name )

 · 지정한 이름의 파라미터가 여러 개 있을 경우 사용하며

  지정한 이름을 가진 파라미터의 모든 값을 String[ ]으로 구한다.







application 내장 객체



application 내장 객체는 하나의 웹 어플리케이션을 관리하고 웹 어플리케이션 안에서의 자원을 공유한다.


하나의 웹 어플리케이션이란 하나의 웹 프로젝트를 의미한다.




application 객체에 저장된 내용은 하나의 프로제특 내의 모든 JSP 페이지에서 공통적으로 사용할 수 있게 된다.


JSP 페이지에서 생성하지 않고 그냥 가져다 쓰는 application 내장 객체는 어떤 자료형태인지 살펴보자.





서블릿에서 제공하는 ServletContext로 선언된 application 내장 객체는 서버 기동 시 웹 어플리케이션 당 하나만 생성되며


서블릿 컨테이너의 정보를 제공하는 일, 컨테이너에게 로그 처리를 요청하는 일 등을 구현할 수 있는 다양한 메소드를 지원한다.




JSP가 서블릿 컨테이너에 의해 서블릿으로 변환 될 때,


자동으로 ServletContext 인터페이스를 구현해서 어플리케이션 내장 객체를 활용할 수 있게 해준다.




다음은 application 객체 관련 메소드를 정리한 표이다.


메 서 드

설  명

 getServerInfo( )

 · 컨테이너의 이름과 버전을 반환한다.

 getContextPath( )

 · 웹 어플리케이션의 URL 경로 중 컨텍스트 패스명을 반환한다.

 getRealPath( )

 · JSP의 실제 경로를 반환한다.

 getMimeType( filename )

 · 지정된 파일의 MIME 타입을 반환한다.

 log( message )

 · 지정된 message의 로그를 저장한다.




<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
    <%
        String appPath = application.getContextPath();
        String filePath = application.getRealPath("06_application.jsp");
    %>
    웹 어플리케이션의 컨텍스트 패스명<br/>
    <b><%=appPath%></b>
    <hr/>
    웹 어플리케이션의 파일 경로명<br/>
    <b><%=filePath %></b>
</body>
</html> 



반응형
//

[Flow.Txt] 에드워드 홀이 말하는 사람과 사람간의 거리[Flow.Txt] 에드워드 홀이 말하는 사람과 사람간의 거리

Posted at 2020. 7. 27. 13:03 | Posted in Flow.Txt
반응형





미국의 문화인류학자 에드워드 홀( Edward T. HJall )은 프록세믹스( Proxmics, 공간학 )를 만들어낸 석학으로


자신의 저서 『 The Hidden Dimension 』( 1966 )에서 사람과 사람간의 거리를 4가지로 구분했다.














첫째,  `친밀한 거리( Intimate Distance )`는 0cm ~ 45cm 거리의 공간인다,


여기에 들어올 수 있는 건 연인, 가족이다.


손만 뻗으면 닿을 정도이기 때문에 신체 접촉이 자주 발생할 수 있다.


숨소리는 물론 심장 박동도 느낄 거리다.


얼굴의 잡티까지 보일 정도로 자신의 사생활까지 드러낼 수 있는 사이다.


게다가 작게 속삭여도 잘 들린다.


아주 끈근하고 신뢰할 수 있는 사이다.




둘째,  `개인적 거리( Personal Distance )`는 46cm ~ 120cm 거리의 공간으로,


친구나 가까운 지인이 들어올 수 있다.


'친밀한 거리'보다는 멀지만, 언제든 상대방을 만지거나 붙잡을 수도 있을 거리다.


사생활도 일부 개입될 여지가 있다.


상대를 신뢰하지 않으면 들어올 수 없는 거리다.




셋째, `사회적 거리( Social Distance )`는 1.2m ~ 3.6m 거리의 공간으로,


사적인 사이가 아니라 공적인 관계의 사람들이 들어올 수 있다.


직정 동료나 업무적으로 만난 사이, 종교 활동, 사회적 관계로 연결된 사이다.


사생활에 개입할 수 없는 사이다.


그들은 일로 만난 사이일 뿐 친구도 가족도 아니다.




넷째, `공적 거리( Public Distance )`는 3.6m 이상의 거리로서 상호적 연결을 가지는 관계는 아니다.


공연장에서 무대와 관객석의 거리, 강의장에서 강사와 청중들 간의 거리가 대표적 '공적 거리'가 될 것이다.


언어학자들의 연구에 따르면, 이 거리에선 단어나 어휘, 문법 사용에도 차이가 발생한다고 한다.








실제로 호텔 로비 커피숍의 좌석은 사회적 거리 정도의 간격을 가지고 만든다.


테이블을 사이에 두고 서로 앉으면 1.2m 이상은 된다.


사무실의 책상 배치에도 사회적 거리는 지켜진다.


공연장과 강의장의 무대와 관객석과의 거리도 이를 고려하고 설계한다.


우리가 비행기 이코노미석을 타고 갈 때 옆 좌석에 앉은 사람이 연인이나 가족, 친구로라면


좌석이 비좁아서 육체적으로 피곤한 것만 느낄 것이다.


만약 전혀 모르는 사람이 옆 좌석에 앉았을 때는 여기에 심리적 불편함과 스트레스가 추가될 것이다.


낯선 타인이 개인적 거리, 심지어 의자 팔걸이를 사이에 두고 친밀한 거리까지 침범하는 것이기 때문이다.





동물도 본능적으로 일정한 거리를 유지하려 한다.


동물은 사람이  다가온다고 무조건 도망가는 것이 아니다.


사람이 어느 정도 거리 이내로 들어왔을 때 도망간다.


이를 '도주 거리'라고 부르는데, 사람뿐 아니라 다른 종의 동물이 침범해올 때 작용한다.


동물들에게 공통적으로 발생하는 거리 유지는 같은 종 내부에서도 드러난다.


힘의 우위에 따라 위계가 만들어지는 동물 중에선 지배적인 동물이 더 넓은 공간을 차지한다.


집단 생활하는 동물은 번식과 식량을 위해 적당한 밀도를 유지한다.


동물들이 일정한 거리를 유지하는 건 생존을 위해서다.


이건 사람도 마찬가지다.




악수는 개인적 거리를 유지한 채 친밀한 거리로 살짝 들어가는 행위다.


앇수는 단순히 손만 잡는게 아니라 개인적 공간으로 잠시 침범하는 것이고,


스킨십을 통해 친근함을 나누는 행위다.


악수, 포옹, 비주 등의 인사를 비롯, 토닥이거나 스킨십을 하거나, 상대를 보며 환하게 웃거나 상대의 얘기에 크게 리액션을 하는 등,


우린 근접 거리에서 컨택트 문화에 기반해서 상대와 소통해 왔다.




시대가 바뀌고, 환경이 바뀌고, 욕망이 바뀌면 소통 방식도 달라진다.


과거와 달리 지금은 문자나 메신저로 소통하는 걸 익숙해하는 사람들도 많고,


화상회의도 익숙해진 사람들이 늘어가고, 소셜 네트워크에서 사귄 친구가 현실의 친구가 되고 있다.


사람과 직접 대면하지 않고 일하고 쇼핑하고, 사람과 관계를 맺으며 살아갈 수 있는 시대다.


친밀한 거리, 개인적 거리 안에 들어올 수 있는 사람들은 점점 줄어들고,


그만큼 우리의 사회적 거리는 더 멀어지고 있다.









반응형
//