sudo apt-get install ntfs-3g


를 설치하고 다시 마운트 시켜 보면 쓰기 권한이 들어가 있는 것을 확인 할 수 있다.


위키 설명 : 

NTFS-3G는 읽기, 쓰기를 지원하는 마이크로소프트 윈도 NTFS의 오픈 소스 크로스 플랫폼 구현체이다. NTFS-3G는 FUSE라는 파일 시스템 인터페이스를 주로 사용하므로 서로 다른 여러 운영 체제에서 수정하지 않은 채로 구동할 수 있다. 리눅스FreeBSDNetBSD오픈솔라리스BeOSQNXWinCENucleusVxWorks하이쿠[1] MorphOS미닉스macOS[2]OpenBSD에서 실행할 수 있다.[3][4] GNU GPL 또는 사유 라이선스로 이용이 허가되어 있다. ntfsprogs의 부분적인 fork이며 유지 보수 및 개발이 진행 중이다.


위키 주소 : 

https://ko.wikipedia.org/wiki/NTFS-3G

스프링 프레임 웤을 이용한 첫번째 웹 페이지를 띄워보자!!



D드라이브 web_dev 폴더에 sts-bundle 폴더와 (sts = Spring Tool Suite)

웹서버 구동 위한 아파치 톰캣 8 폴더

웹서버 소스를 보관한 project  폴더

를 구성한다.




sts-bundle -> sts-3.8.1.RELEASE -> STS.exe  을 실행시켜 프로그램을 실행시킨다.

Workspace 를 D:\web_dev\project 폴더로 지정해 주고 OK를 누른다.



짜잔! Spring Tool Suite 의 첫 화면이 다음과 같이 떳다.



sts에서 웹서버를 동작시키기 위해서 첫 번째로 설정해줘야 하는것은 톰캣을 서버로 등록해주는 것이다.

상단 메뉴바에서 Window->Preferences->Server->Runtime Enviroments 순으로 들어가면 아래와 같은 화면이 보인다.

리스트에 Privotal 어쩌구만 있고 원하고자 하는 톰캣이 없다.


Add 를 누루고 

Apache 폴더 하위메뉴에 Apache Tomcat v8.0 을 선택 하고 Next 를 눌러준다.


Tomcat installation directory 에 Browse... 을 눌러주고 web_dev 폴더에 있는 톰캣 폴더를 지정해 준다.


피뉘쉬~


그러면 원하고자 했던 아파치 톰캣 8.0이 서버 항목에 들어가 있는 것을 볼 수 있다.



이제부터는 웹 페이지를 만들기 위한 프로젝트를 등록 할건데

package Explorer 의 오른 클릭->Spring Legacy Project 를 눌러준다


프로젝트 이름을 firstWeb

Templates 를 Spring MVC Project 로 선택해 준다.


넥스트를 누르면 다음과 같은 창이 뜨는데 가볍게 Yes 를 눌러준다.



패키지 이름을 정해야 되는데

여기서 주의할 점은 머.머.머 이렇게 점이 2개 이상 들어 가야 한다는 것이다.

머.머 로 하면 경고가 뜨면서 피뉘쉬를 할 수 없다.



쪽 상단의 Package Explorer 를 확인하게 되면 firstWeb 이라는 폴더가 생긴다.

처음에는 빨간색이 보이며 먼가 잘못된것처럼 보일 수도 있으나

조금의 시간만 지나면(컴퓨터 성능에 따라 다르겠지만) 아래와 같은 깨끗한 파일로 보인다.



첫 웹페이지를 띄워보기 전에 아까 등록한 서버를 실제 사용 하겠다 등록을 해줘야 한다.

왼쪽 하단에 Servers 빈공간에 오른클릭->New->Server 를 눌러준다



톰캣 8.0 선택



firstWeb 클릭-> Add


하면 오른쪽으로 firstWeb 이 넘어감 -> 피뉘시



이제 정말 firstWeb 의 페이지를 웹 서버로 띄워보자!!!


firstWeb 오른클릭 -> Run As ->  Run On Server



톰캣 클릭 피니쉬!




아래와 같이 Hello World! 가 떳다면 성공적으로 첫 웹페이지를 띄우는데 성공한 것이다.

크롬이나 익스플로러에서 http://localhost:8080/firstWeb 페이지로 접속해 보아도 똑같은 결과를 보여준다.

근데 한가지 이상한 점은 The Time 어쩌구 하다가 2016 ? 10? 갑자기 웬 물음표가 있는거지 ??

이것은 원래 한글인데 한글 인코딩을 안해줘서 문제가 생긴 것이다.



firstWeb -> src -> main -> webapp -> WEB-INF -> views -> home.jsp 파일을 열고

첫줄에

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

라고 적어준 다음 저장하고 다시 실행시켜 보자!




이로서 완벽한 첫 페이지가 띄워 졌다!! 짝짝


이클립스를 다운 받아서 spring framework 를 추가해 주어도 되지만

한번에 다운 받을 수 있다.


다운로드 페이지 : https://spring.io/tools/sts/all





윈도우, 맥, 리눅스 버전에 맞춰서 다운로드 받으면 된다.

리눅스 계열 OS 를 사용하다보면 ctrl+alt+방향키 를 사용하여 가상 작업공간을 나누어 사용 가능하다.

추가 모니터가 있어서 쭉 늘려서 쓸 수 있다면 좋겠지만 그렇지 못한 사정 이거나

한 모니터로 여러개의 작업을 헷갈리지 않게 사용할 때 유용하다.

리눅스 계열에서는 그냥 사용하면 될테지만 


윈도우 7에서는 virtuawin 의 프로그램을 설치하여 사용하면 되고. (설치 하고, 그래픽 옵션에서 바로가기키 disable 해준 뒤 사용 )

윈도우 10 에서는 기본으로 기능을 제공하여준다.



사용 방법 


1. 윈도우 키 + tab 을 누르면 아래 화면이 나옴.


2. 오른쪽 맨 아래 새 데스크톱 클릭하면 아래 화면처럼 데스크톱 1,2 로 나누어짐.


3. 중앙 아래 데스크톱 1, 데스크톱2로 나누어 짐.


4.  Ctrl+윈도우 키 + 방향키 좌,우 로 데스크톱 여러개 사용! 두개 이상 데스크톱도 추가 가능.


좌, 우 로만 데스크톱 확장이 가능함. 위아래는 안됨

'Dev' 카테고리의 다른 글

첫번째 웹 페이지를 띄워보자! (windows)  (0) 2016.10.06
Spring Framework 다운로드  (0) 2016.10.04
하드디스크가 이상하다.  (0) 2016.07.25
find 명령어 사용하기  (0) 2016.07.22
ntp poll interval 에 대해서  (0) 2016.03.10

요즘 티비에 볼 것이 잘 없는지라 보고싶은 파일을 외장하드에 넣어서 티비에 연결하여 잘 보곤 하는데

파일 까진 잘 넣고 티비에 연결 하였는데 인식을 못하는 것이였다.. 

에러명 : 파일 또는 디렉터리가 손상되었기 때문에 읽을 수 없습니다.

티비 보면서 쉬고 싶었는데 인식을 못하니 컴퓨터를 다시 켜고 검색을 시작 하였다..

그러고 이것 저것 검색을 하다가

chkdsk 라는 윈도우 명령어를 알게 되었다.

설명은 아래의 위키와 같다.

https://ko.wikipedia.org/wiki/CHKDSK



검색시 문제가 있을 수 있다는 글을 봤지만 무슨 큰 문제가 생길까 싶어 먼저 실행해 보았다.


1. cmd 창을 관리자 권한으로 실행시킨다.

2. chkdsk g: /f  -> 작성후 엔터! 

( g: 는 나의 외장하다가 g드라이브로 인식하였기 때문이다 각자 맞는 드라이브 명을 입력!)

3. 경과를 지켜본다.

4. 동작이 되는지 확인한다.


다음의 동작으로 간단히 해결 되었는데 무슨 문제가 있는지 어떤 원리로 동작 되는지는 좀 더 알아 봐야 겠다.

'Dev' 카테고리의 다른 글

Spring Framework 다운로드  (0) 2016.10.04
윈도우 10 가상 데스크톱 사용하기! (가상 작업공간)  (1) 2016.09.08
find 명령어 사용하기  (0) 2016.07.22
ntp poll interval 에 대해서  (0) 2016.03.10
jsp:useBean 에러!!  (0) 2016.03.09

GUI 로 파일 또는 파일 속의 내용을 검색 하여도 되지만

find 명령어를 사용하면 빠르게 원하는 파일 혹은 내용을 찾을 수 있다.


1. 파일 검색

1.1 # find [경로] -name "[파일 이름]"

경로부터 하위경로까지 검색하여 매칭되는 파일이름을 보여준다.

"*"을 적절히 집어넣어 파일명이 생각나지 않을때도 찾아 낼 수 있다.


1.1.1 실행 테스트

[root@localhost ~]# find / -name "main.c"
/root/main.c
[root@localhost ~]# find / -name "main*.c"
/usr/src/main_test.c
/root/main.c



1.2 # find [경로] 

하위 경로 파일 전부 검색하기 (파일이름이 생각 안날 때)

경로에 . 을 사용하여 상대경로로 검색할 수 있다.


1.2.1 실행 테스트

[root@localhost ~]# find .
.
./.cshrc
./anaconda-ks.cfg
./.bash_history
./.Xauthority
./.bashrc
./test
./test/test1
./test/test2
./main.c
./.tcshrc
./.bash_logout
./.rnd
./.bash_profile
./.viminfo
./install.log.syslog
./install.log



2. 파일 속 내용 검색

2.1 # find [경로] -name "[파일 이름]" | xargs grep "[내용]"

경로부터 하위경로까지 검색하여 매칭되는 파일이름과 매칭 내용을 보여준다.


2.1.1 실행 테스트

[root@localhost ~]# find . -name "test*" | xargs grep "main()"
./test/test_main.c:main(){
[root@localhost ~]# find | xargs grep "main()"
./test/test_main.c:main(){


2.2 # find [경로] -name "[파일 이름]" | xargs grep -I "[내용]"

바이너리 파일때문에 원하지 않는 결과 값이 나올 때는 grep 옵션에 -I (대문자 아이) 를 주어서 명령어를 실행시켜보자.




컴퓨터의 시간을 맞춰주기 위해서는 몇가지 방법이 있지만 그중 하나가

ntp서버에 접근하여 정확한 시간을 얻어 와서 자신의 컴퓨터시간을 맞추는 것이다.


이 때 필요한 것이 ntpd 인데 얼마만큼의 간격을 두고 서버에서 시간을 가져올까?


ntpd 가 설치되어 있는 리눅스 환경에서


#ntpq -p 의 명령어를 실행시켜 보면 다음과 같은 출력을 얻는다.


여기서 poll 이라는 항목이 있다.

64 가 의미하는 바는 무었인가??


#man ntpd 명령어를 사용하여 메뉴얼을 띄워서 확인해보자.

POLL INTERVAL CONTROL 의 항목을 보면

최소 6(64초) 최대 10(1024초) 로 기본 값이 정해 져 있고 이 값은 

로컬 시간과 ntp 서버 시간차에 따라 가변적으로 변하게 된다.


시간 차이가 적게 날수록 최대 시간에 가까워  지고

시간 차이가 많이 날수록 최소 시간에 가까워 진다.


#man npt.conf (메뉴얼)

에서 최소 3(8초) 최대 17(36시간)의 값으로 세팅 가능 하다고 한다.


'Dev' 카테고리의 다른 글

하드디스크가 이상하다.  (0) 2016.07.25
find 명령어 사용하기  (0) 2016.07.22
jsp:useBean 에러!!  (0) 2016.03.09
$$ 을 사용하여 임시 파일 만들기.  (0) 2016.02.23
[redhat 6.7] telnet server 설치  (0) 2016.02.19

redhat 6.7 32bit 환경에서 테스트중 에러가 발생했다..


톰캣 위치/webapps/jsp/HelloBean.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
<jsp:useBean id="time" class ="java.util.Date" scope="page" />
<jsp:useBean id="hello" class = "com.test.HelloBean" scope="page" />
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Use Bean Test</title>
</head>
    <body>
    <h3> Use Bean Test</h3>
        Hello..
    <%= hello.getName() %>
    <hr>
    Time : <%= time.toLocaleString() %>
    </body>
</html>
cs


톰캣 위치/webapps/jsp/WEB-INF/classes/src/HelloBean.java

1
2
3
4
5
6
7
8
9
10
11
12
package com.test;
 
public class HelloBean{
    private String name = "World";
        public HelloBean() { }
            public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return name;
        }
}
cs


두 파일을 생성 한 후 "톰캣 위치/webapps/jsp/WEB-INF/classes/src/" 의 디렉토리에서 다음과 같이 컴파일 해준다.

# javac HelloBean.java

그 후 생성된 HelloBean.class 파일을 /webapps/jsp/WEB-INF/classes/com/test 로 옮겨준다.


그뒤 로컬에서 테스트 할 경우 웹 브라우저를 켜고

127.0.0.1:8080/jsp/HelloBean.jsp 를 실행하면 될 줄 알았는데!!!!!!!!!

아래와 같은 에러가 발생했다.

HTTP Status 500 - java.lang.NoClassDefFoundError: com/test/HelloBean (wrong name: hello/HelloBean)


이리저리 구글링을 해서 검색해본결과 

jsp 파일의 

<jsp:useBean id="hello" class = "com.test.HelloBean" scope="page" />

부분을

과 같이 한 단계 더 추가해 주고

<jsp:useBean id="hello" class = "com.test.simple.HelloBean" scope="page" />


java 파일도 마찬가지로 


패키지 선언 부분을 

package com.test;

다음과 같이 바꿔주고 실행해 보면 에러 없이 잘 뜨는 것을 확인할 수 있다.

package com.test.simple;

'Dev' 카테고리의 다른 글

find 명령어 사용하기  (0) 2016.07.22
ntp poll interval 에 대해서  (0) 2016.03.10
$$ 을 사용하여 임시 파일 만들기.  (0) 2016.02.23
[redhat 6.7] telnet server 설치  (0) 2016.02.19
CentOS 7 nfs 설정  (1) 2016.02.18

+ Recent posts