728x90



이렇게 바꾸고 싶은 곳에 클릭을하면 색이 변하는데 


오른쪽 버튼 → refactor → rename 


적용되는 지점에 네모모양이 생기는데 


이름을 수정하면 일괄로 변경된다 

Posted by 앗뜨거
,
728x90

출처 : http://micropilot.tistory.com/2194


Eclipse 에서 Tomcat을 연동하여 작업할 때 프로젝트명이 톰캣에서는 하나의 컨텍스트가 되어 접속할 URL의 일부로 포함된다.

예를 들어, Eclipse의 웹프로젝트 이름이 HelloWeb 이라는 이름을 가진 경우에는 개발중인 웹사이트에 접속하기 위해서는 HelloWeb이라는 단어가 접속 URL에 포함되어 http://localhost:8080/HelloWeb/test.jsp 와 같이 접속할 수 있게 된다.


그러나 HelloWeb 이라는 단어는 프로젝트 이름으로는 적당할지 모르지만 실제 웹사이트가 서버에 배포되어 사용될 때는 의미가 없게 되는 경우가 많다. 그러므로 접속 URL에서 HelloWeb 이라는 단어를 제외하고 http://localhost:8080/test.jsp 처럼 접속이 되도록 설정할 필요가 있게 된다.


Eclipse에서 개발중인 프로젝트를 디폴트 컨텍스트로 설정하면 접속 URL에서 프로젝트 이름이 사라지게 할 수 있다


테스트 환경

  • JDK 1.7
  • Tomcat 7.0
  • Eclipse Kepler
  • Windows XP
1. Eclipse를 실행하고 Tomcat 7과 연결한 후에 Dynamic Web Project를 생성한다 프로젝트 명을 HelloWeb으로 했다고 가정한다
2. 프로젝트의 WebContent 안에 index.jsp 페이지를 아무 내용이나 간단하게 작성한다
3. 위에서 생성한 index.jsp 에 접속하기 위한 URL은 다음과 같이 Eclipse의 프로젝트 이름이 URL에 포함된 형태일 것이다
    http://localhost:8080/HelloWeb/index.jsp    혹은   http://localhost:8080/HelloWeb/


Eclipse 프로젝트 이름이 URL에 포함되지 않게 하려면 server.xml 에서 약간의 편집을 하면 된다


Server / Service / Engine / Host / Context 요소를 찾아서 최종적으로 Context 노드를 확장하면 docBase와 path 항목 둘다 HelloWeb으로 설정된 것을 볼 수 있다. 그 중에서 path 항목의 값으로 설정된 HelloWeb을 지우고 슬래시 기호(/)만 남겨둔다 편집한 내용을 저장하고 다시 톰캣을 시동하고 다음과 같은 URL으로 접속해본다

http://localhost:8080/index.jsp 혹은  http://localhost:8080/




위의 설정으로 Eclipse의 웹프로젝트 이름은 접속을 위한 URL에서 제외가 되었다.

이제 또 한가지 설정은 접속을 위한 URL에서 8080과 같은 접속 포트번호를 제외하는 것이다.


이것은 Tomcat의 접속 포트번호 8080을 웹서버의 디폴트 포트번호인 80으로 설정해주면 해결된다


위에서 편집했던 server.xml 파일을 더블클릭하여 에디터 창에 내용을 열고 아래의 그림과 같이 포트번호가 8080으로 설정된 곳을 찾아서 80으로 변경해주면 된다.




위와 같이 설정했다면 HelloWeb의 index.jsp 에 접속하는 URL은 다음과 같을 것이다

http://localhost/index.jsp     혹은       http://localhost/ 


위의 URL을 맨 처음의 것과 비교해보면 많이 간결해진 것을 알 수 있다.  프로젝트 이름과 포트번호가 URL에 포함되지 않기 때문이다.






끝으로 설명할 한가지 내용은 공식적인 도메인 등록기관에 등록된 도메인에 나의 사무실에 있는 컴퓨터를 연결하는 작업이다.

다시 말하자면, 웹브라우저의 주소창에 도메인을 입력하고 엔터를 치면 나의 사무실에 있는 컴퓨터의 웹서버에 접속되게 하는 것이다.


사무실에 있는 컴퓨터는 고정 아이피가 배정된 컴퓨터라면 도메인 등록기관에 접속하여 해당 도메인의 호스트관리 페이지로 이동하여 도메인에 연결된 호스트명을 나의 사무실에 있는 컴퓨터의 고정 아이피를 등록해주면 된다.

도메인 등록기관에 따라 관리하는 방법이 조금씩 다르지만 개념은 동일하다


그러므로 사무실에 앞에서 설정했던 HelloWeb이 실행되고 있는 컴퓨터가 있고 그 컴퓨터의 아이피 주소가 123.123.123.123 이라면 이 아이피 주소를 도메인 등록기관에 접속하여 관리하는 도메인의 호스트관리 페이지로 이동하여 도메인에 연결될 호스트의 아이피 주소로 등록하면 된다. 이렇게 설정하면 어디서든지 웹브라우저의 주소창에 해당 도메인을 입력하면 나의 사무실에 있는 컴퓨터의 웹서버로 요청이 들어오고 응답하게 되는 것이다.


아이피 주소를 연결한 후에는 짧게는 몇시간에서 며칠의 시간이 지나야 효과를 보게 되지만 처음 등록한 도메인의 경우에는 한시간 정도 지나서 연결되는 경우도 있으니 급한 경우에는 자주 접속해서 연결되는지 확인해 보는 것도 좋겠다.

'프로그래밍 > 톰캣' 카테고리의 다른 글

[스크랩]cafe24 톰캣 재시작  (0) 2014.09.09
Tomcat 7.0 에서 JNDI DataSource 설정  (0) 2014.08.14
톰캣 한글깨질때 해결방법  (0) 2014.05.23
톰캣 이클립스 플러그인 설치  (0) 2014.05.21
톰캣 설정 _2번째  (0) 2014.05.21
Posted by 앗뜨거
,
728x90

1. Request 객체
클라이언트에서 어떤 페이지를 요청하면 서버로 요청 정보를 전송하는데, 이렇게 전송된 데이터가 저장되는 곳이 바로 Request 객체이다. 사용자가 브라우저를 통해 서버에게 어떤 요구를 하면 Request 객체는 이때 사용자의 브라우저 정보나 입력한 값 등의 정보를 갖게 된다.

사용형식>
Request.[컬렉션 | 속성 | 메소드]("변수")

예) Request.QueryString("strID")
     Request.Cookies("Login")
     Request.ServerVariables("SERVER_NAME")

(1) ClientCertificate 컬렉션 - 클라이언트가 전송한 인증서

사용자의 인증을 위한 디지털 인증정보의 내용을 조사한다. 그다지 많이 쓰이지 않는 컬렉션이다.

형식> Request.ClientCertificate (키)
예>    Request.ClientCertificate (member)

(2) Cookies 컬렉션 - 클라이언트가 전송한 쿠키값
쿠키는 사용자의 시스템에 간단한 정보를 저장하여 필요할 때마다 해당 정보를 읽어오려고 한다.
(쿠키를 사용하는 주된 원인은 간단한 정보를 클라이언트에 저장함으로써 서버의 부하를 크게 줄일 수 있다.)

형식> Request.Cookies (쿠키변수) [(하위쿠키 변수) | .속성 ]
예> Request.Cookies (strLog)
      Request.Cookies (strLog) (strSubLog)

(3) From 컬렉션 - 클라이언트가 전송한 폼 요소
서버로 데이터를 전달하는 방법은 get, post 두 가지 방식이 있다. get 방식은 QueryString 컬렉션이 해당 데이터를 받고 post 방식은 Form 컬렉션이 해당 데이터를 받는다.

전달할 데이터를 입력하려고 <Form> 태그를 다음과 같이 사용한다.
<Form Method = "post" Action = "웹페이지" >
태그를 해석하면 사용자가 서버로 전달하고자 입력한 데이터를 post 방식으로 전송하고 지정한 웹페이지에서 데이터를 처리한다는 것을 뜻한다. 처리된 데이터는 Form 컬렉션에 저장되는데 이러한 값을 읽으려면 Form 컬렉션을 사용해야 한다.

형식> Request.Form (변수)
예>    Request.Form ("strID")
         Request.Form ("strPWD")

<Form>태그는 사용자가 입력한 값을 전달하는 역할을 한다.

형식> <Form Method="전송방식" Action="값을 전달 받을 URL" Enctype = "인코딩할 폼 데이터의 타입 지정" Target = "출력될 창의 이름" >

<INPUT>태그는 입력받을 곳을 생성한다.

형식><INPUT Type = "입력형태" name = "이름" Value = "값">


(4) QueryString 컬렉션 - HTTP 질의 문자열에 있는 변수 값
Form 컬렉션이 post 방식으로 전송된 데이터를 저장하는 것이라면 QueryString 컬렉션은 get 방식으로 전송한 데이터를 저장하는 역할을 한다. 그러므로 Form 컬렉션과 QueryString 컬렉션의 사용법은 비슷하다.

형식>Request.QueryString (변수)
예>   Request.QueryString("strID")
        Request.QueryString("strPWD")

입력폼 만들기
형식><Form Method = "get" Action = "웹페이지">

<INPUT>태그는 post 방식과 동일


(5) ServerVariables 컬렉션 - HTTP와 환경 변수 값
ServerVariables 컬렉션에 기본적인 사용자가 서버로 전송한 정보들이 저장되어 있다.
형식> Request.ServerVariables (서버환경변수)
예>    Request.ServerVariables (strKey)
         Request.ServerVariables ("HTTP_USER_AGENT")

(6) TotalByte 속성 - 클라이언트가 전송한 총 바이트 수
사용형식> Request.TotalBytes


2. Response 객체
사용자가 어떤 요청을 하였을 때 서버가 이에 응답을 보내려고 Response 객체를 사용한다.

형식>Response.[컬렉션 | 속성 | 메소드]
예>   Response.Redirect "From.htm"
        Response.Cookies ("MemberInfo")
        Response.Write "HELLOASP"

(1) Cookies 컬렉션 - 보내지는 쿠기값
Response 객체에서는 Cookies 컬렉션을 사용하여 해당 값을 기억하려고 사용한다.

형식>Resposne.Cookies(쿠키 변수)[(하위 쿠키 변수) | .속성] = 쿠키 값
예>   Response.Cookies("MemberInfo")("strName") = "홍길동"
        Response.Cookies("MemberInfo").Expires = "May 5, 2006"

(2) Buffer 속성 - ASP의 결과가 완성될 때까지 캐시 할 것인지를 지정
Buffer 속성은 버퍼에 저장할 것인지 안 할 것 인지를 지정하는 속성
Buffer의 값을 'TRUE'로 값을 지정할 때에는 사용자가 요청한 결과를 처리할 때 해당 페이지가 완성될 때까지 또는 Flush나 End 메소드가 호출될 때 까지 해당 결과를 전송하지 않는다. 'FALSE'로 값을 지정할 때에는 결과 페이지를 저장하지 않고 즉시 클라이언트로 전송한다.

(3) CacheControl 속성 - Content Type 헤더에 문자 집합 이름 추가
서버와 사용자 사이에는 페이지 응답 시간을 단축시키려고 해당 웹 페이지를 캐시ㅣ하도록 구성되는 프록시 서버가 있다. 이러한 프록시 서버가 ASP의 결과를 캐시할 것인지에 대한 지정하는 속성이다.

형식>Response.CacheControl [=Cache Control Header]

(4) ContentType 속성 - HTTP 컨텐츠 형식 지정
서버가 사용자에게 파일을 보낼때에 해당 파일의 타입을 지정한다. 이렇게 콘텐츠 형식을 지정함으로써 사용자의 브라우저에 자체적으로 출력할 것인지 아니면 다른 응용 프로그램을 호출할 것인지를 결정하게 된다.
기본 값은 'text/html' 이다.

형식>Response.ContentType [=콘텐츠 형식]
예>   Response.ContentType = "image/GIF"
        Response.ContentType = "image/JPEG"

(5) Expires 속성 - 캐시된 페이지의 만료기간 지정
브라우저에 캐시된 페이지의 만료 기간을 지정하는 역할을 한다. 페이지가 만료되기 전에 같은 페이지가 호출되면 캐시된 페이지가 출력된다.

형식>Response.Expires = "May 5, 2006"
예>   Response.Expires = 0

일반적으로 Expires의 값에는 날짜를 적어주지만 0이나 -1 등을 사용해서도 값을 지정할 수 있다. 만약에 해당 값을 0으로 지정하면 브라우저에서 ASP 페이지가 캐싱하지 못하게 되며 -1 등의 음수로 값을 지정했을 때에는 응답이 즉시 만료가 된다.

(6) ExpiresAbsolute 속성 - 캐시된 페이지의 만료 날짜와 시간 지정
브라우저에 캐시된 페이지의 만료 기간을 지정하는 역할을 한다. 하지만 차이점이 있다면 Expiresabsolute 속성은 날짜 이외에 시간까지 지정할 수 있다.

형식>Response.ExpiresAbsolute [= [날짜] [시간] ]
예>   Response.ExpiresAbsolute =#May 5, 2006 12:30:30#

날짜형식은 #과 # 사이에 값을 넣어 나타낸다.

(7) IsClientConnected 속성
클라이언트와 서버가 연결되었는지 아니면 끊었는지를 알려주는 속성이다.

형식>Response.IsClientConnected()

(8) Redirect 메소드
사용자가 서버에 웹 페이지를 요청하면 일반적으로 해당 웹 페이지를 전송한다. 하지만 Redirect 메소드를 사용하면 웹페이지 대신 지정한 URL로 이동시킬 수 있다.

형식>Response.Redirect URL
예>   Response.Redirect "Login.htm"
        Response.Redirect "Form.htm"


Posted by 앗뜨거
,
728x90

첫번째 방법 (Get 방식으로 전달할때)


톰캣 server.xml 안에


    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />


에다가


   useBodyEncodingForURI="true" URIEncoding="EUC-KR" 를 추가


결론은


    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" useBodyEncodingForURI="true" URIEncoding="EUC-KR" />







두번째방법 (Post 방식일때)


Servlet 받는곳 doGet 이나 doPost 에 


response.setContentType("text/html; charset=KSC5601");

request.setCharacterEncoding("KSC5601"); 를 넣어주고





if(request.getMethod().equalsIgnoreCase("get"))

{

name=myclasses.StringUtil.toHangul(name);

email=myclasses.StringUtil.toHangul(email);

}


로 연결 시켜줌 java파일을 연결


StringUtil.java





Posted by 앗뜨거
,
728x90



- Project Explorer 뷰 - Project 선택 - Properties

- Web Project Settings - Context root 를 / 로 변경

- 메뉴 - Project - Clean

- Servers 뷰에서 tomcat 선택, + 펼침, 해당 프로젝트 선택 후 삭제

- Servers 뷰에서 tomcat 선택 - 마우스 우클릭, Clean

- Servers 뷰에서 tomcat 선택 - 마우스 우클릭, Add and Remove

- 해당 프로젝트 선택후 Add

Posted by 앗뜨거
,
728x90

File > Import 를 누르면 select 창이 하나 뜬다,

 

그러면

Existing Progects into Workspace 를 누르고,

해당 프로젝트가 있는 디렉토리를 선택후

가져올 프로젝트를 선택한다

 

추가로,

맨 밑에 Copy projects into workspace 체크박스를 체크하면

현재 내가 사용하고 있는 workspace 밑에 프로젝트가 복사되어온다 

Posted by 앗뜨거
,
728x90

출처 : http://blog.opid.kr/241


 톰캣 7.0 설치(새창)

플러그인 설치




Posted by 앗뜨거
,
728x90

출처 : http://stellan.tistory.com/entry/Java-Web-Programming-TOMCAT-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95





Posted by 앗뜨거
,
728x90

출처 : http://blog.naver.com/pajamasi?Redirect=Log&logNo=60199378851



Posted by 앗뜨거
,
728x90

출처 : http://blog.naver.com/ccl607?Redirect=Log&logNo=110184888983


톰켓 홈페이지 http://tomcat.apache.org/index.html







Posted by 앗뜨거
,