1. Tomcat 서버 포트 구성
Tomcat의 모든 구성은 Conf 폴더에 배치되며 내부의 Server.xml 파일은 핵심 구성 파일입니다.
Tomcat 서버의 시작 포트를 수정하려면 Server.xml 구성 파일의 커넥터 노드에서 포트를 수정할 수 있습니다.
예 : Tomcat 서버의 시작 포트를 기본 8080에서 8081 포트에서 변경합니다.
Tomcat Server Startup 포트 기본 구성
<커넥터 포트 = "8080"프로토콜 = "http /1.1"ConnectionTimeout = "20000"redirectport = "8443" />
Tomcat Server Startup 포트를 포트 8081로 수정하십시오
<커넥터 포트 = "8081"프로토콜 = "http /1.1"ConnectionTimeout = "20000"redirectport = "8443" />
이렇게하면 원래 기본 Tomcat Default Port 8080을 포트 8081로 변경합니다. 서버의 *.xml 파일이 변경되면 Tomcat 서버가 다시 시작되고 새 구성 정보가 다시 읽은 후 다시 읽습니다. Tomcat Startup 포트는 Server.xml 파일에서 8081로 수정되었으므로 아래 그림과 같이 Tomcat 서버는 포트 8081로 시작됩니다.
Tomcat 서버에 액세스하려면 아래 그림과 같이 새 액세스 포트 (http : // localhost : 8081/)와 함께 액세스해야합니다.
2. Tomcat 서버 가상 디렉토리의 매핑 방법
웹 애플리케이션이 개발 된 후 외부 세계에 액세스하려면 웹 응용 프로그램이 웹 서버에있는 디렉토리를 관리하기 위해 디렉토리를 넘겨야합니다. 이 프로세스를 가상 디렉토리 매핑이라고합니다. Tomcat 서버에서 가상 디렉토리를 매핑하는 방법은 무엇입니까? 총 몇 가지 방법이 있습니다.
2.1. 가상 디렉토리의 매핑 방법 1 : Server.xml 파일의 호스트 요소에서 구성
다음 그림과 같이 Server.xml 파일의 호스트 요소를 찾으십시오.
태그에 <host> </host>를 <context path = "/javawebapp"docbase = "f :/javawebdemoproject"/> adde javawebdemoproject javawebapp 응용 프로그램을 javawebapp의 가상 디렉토리에 매핑합니다. Javawebapp의 가상 디렉토리는 Tomcat 서버에서 관리합니다. Javawebapp은 하드 디스크에 존재하지 않는 디렉토리입니다. 가상 디렉토리 인 우연히 쓰는 디렉토리이므로 "가상 디렉토리"라고합니다. 코드는 다음과 같습니다.
<호스트 이름 = "localhost"appbase = "webapps"unpackwars = "true"autodeploy = "true"xmlvalidation = "false"xmlnamespaceaware = "false"> <context path = "/javawebapp"docbase = "f :/javawebdemoproject"/host>
그중에서도 컨텍스트는 컨텍스트를 나타내며, 이는 Javaweb 응용 프로그램을 나타냅니다. 컨텍스트 요소에는 두 가지 속성이 있습니다.
path : 가상 디렉토리를 구성하는 데 사용되며 "/"로 시작해야합니다.
docbase :이 가상 디렉토리를 웹 애플리케이션이 하드 디스크에있는 디렉토리에 해당하도록 구성하십시오.
브라우저를 사용하여 "/javawebapp"의 가상 디렉토리에서 1.JSP 웹 리소스에 액세스하십시오. 액세스 결과는 다음과 같습니다.
1.JSP는 정상적으로 액세스 할 수 있습니다. 즉, JavawebdemoProject Javawebapp을 Javawebapp의 가상 디렉토리에 성공적으로 매핑했습니다. "/javawebapp/1.jsp"에 액세스하는 것은 "f : /javawebdemoproject/1.jsp"에 액세스하는 것과 같습니다.
참고 : Tomcat 6 이후에 Server.xml 파일이 수정 될 때마다 Server.xml 파일을 다시로드하기 전에 Tomcat 서버를 다시 시작하기 전에 Server.xml 파일의 구성 컨텍스트 요소를 사용하여 가상 디렉토리 매핑을 추가하는 것이 좋습니다. Tomcat 서버 문서 http : // localhost : 8080/docs/config/context.html에 이와 같은 설명이 있습니다.
Server.xml 파일에 <countxt> 요소를 직접 배치하는 것이 좋습니다. Main Conf/Server.xml 파일을 Tomcat을 다시 시작하지 않고 다시로드 할 수 없으므로 컨텍스트 구성을보다 침습적으로 수정하기 때문입니다.
개별 상황 요소는 명시 적으로 정의 될 수 있습니다.
응용 프로그램 파일 내부의 /meta-inf/context.xml의 개별 파일에서 선택적으로 (호스트의 CopyXML 속성을 기반으로) 이것은 $ catalina_base/conf/[enginename]/[hostname]/[hostname]로 복사 될 수 있으며 Application의 기본 파일 이름과 ".xml"확장자로 이름이 바뀔 수 있습니다.
$ catalina_base/conf/[enginename]/[hostname]/directory의 개별 파일 ( ".xml"확장자 포함)에서. 컨텍스트 경로와 버전은 파일의 기본 이름 (파일 이름이 .xml 확장자가 적음)에서 파생됩니다. 이 파일은 항상 웹 애플리케이션의 Meta-Inf 디렉토리에 포장 된 모든 컨텍스트 .xml 파일보다 우선합니다.
메인 conf/server.xml의 호스트 요소 내부.
2.2. 가상 디렉토리의 매핑 방법은 2입니다.
Tomcat 서버는 WebApps 디렉토리의 모든 웹 응용 프로그램을 자동으로 관리하고이를 가상 디렉토리로 매핑합니다. 다시 말해, Tomcat Server WebApps 디렉토리의 웹 응용 프로그램은 외부 세계에서 직접 액세스 할 수 있습니다.
예를 들어 : 아래 그림과 같이 javawebdemoproject javaweb를 F 디스크 아래에서 직접 Tomcat Server WebApps 디렉토리로 복사하십시오.
현재 Tomcat 서버는 가상 디렉토리 "/javawebdemoproject"를 JavawebdemoProject Javaweb 응용 프로그램의 이름으로 자동으로 매핑 한 다음 아래 그림과 같이 브라우저를 사용하여 Javaweb 응용 프로그램의 리소스에 액세스 할 수 있습니다.
2.3. 가상 디렉토리 3의 매핑 방법
Tomcat 서버 문서를 참조하십시오.
$ catalina_base/conf/[enginename]/[hostname]/directory의 개별 파일 ( ".xml"확장자 포함)에서. 컨텍스트 경로와 버전은 파일의 기본 이름 (파일 이름이 .xml 확장자가 적음)에서 파생됩니다. 이 파일은 항상 웹 애플리케이션의 Meta-Inf 디렉토리에 포장 된 모든 컨텍스트 .xml 파일보다 우선합니다.
의미 : Tomcat 서버의/conf/catalina/localhost 디렉토리의 확장자로 XML이있는 파일을 추가하십시오. XML 파일의 이름은 아래의 AA.XML과 같이 임의로있을 수 있습니다. 문장은 "컨텍스트 경로와 버전은 파일의 기본 이름에서 파생됩니다". 이 문장의 의미는 "컨텍스트 요소의 경로 속성은 XML 파일의 이름에서 나옵니다"로 번역됩니다. 위에서 언급했듯이 컨텍스트 요소의 경로 속성은 가상 디렉토리의 이름을 구성하는 데 사용되므로 가상 디렉토리의 이름은 XML 파일의 이름입니다.
$ catalina_base는 Tomcat 서버의 루트 디렉토리를 나타냅니다. [Enginename]은 Tomcat 서버에서 사용하는 엔진 이름을 나타냅니다. Tomcat에서 사용하는 엔진은 카탈리나입니다.
컨텍스트 요소 매핑 aa.xml 파일에서 javaweb 응용 프로그램 추가 코드는 다음과 같습니다.
<context docbase = "f : /javawebdemoproject" />
참고 : 경로 속성은 컨텍스트 요소에 지정되어 있지 않으며 가상 디렉토리의 이름을 설정합니다. 그런 다음 "f :/javawebdemoproject"로 매핑 된 가상 디렉토리의 이름은 Shenma이며 현재 편집중인 XML 파일의 이름입니다.
이 방법을 사용하여 가상 디렉토리를 매핑하는 것의 가장 큰 장점은 구성 파일을 수정 한 후 Tomcat 서버를 다시 시작할 필요가 없다는 것입니다. 예를 들어 AA.XML을 BB.XML로 수정하십시오. Tomcat 서버는 컨텍스트를 자동으로 배포 한 다음 자동으로 정보를 제공합니다. 구성 디스크립터 배포 D : /apache-tomcat-7.0.53/conf/catalina/localhost/bb.xml 배포
3. Tomcat 서버 구성 가상 호스트
3.1. 가상 호스트를 구성하십시오
가상 호스트 구성은 웹 사이트를 구성하는 것입니다.
Tomcat 서버에서 가상 호스트 (웹 사이트)를 구성하려면 conf 폴더 아래에서 Server.xml 구성 파일을 수정하고 호스트 요소를 사용하여 구성하고 Server.xml을 열면 다음 그림과 같이 Tomcat 서버에서 LocalHost라는 가상 호스트 (웹 사이트)를 볼 수 있습니다.
일반적으로 개발 된 Javaweb 응용 프로그램을 WebApps 폴더에 넣은 다음 "http : // localhost : port 번호/javawebappname"을 사용하여 액세스 할 수 있습니다. 실제로, 우리는 이름이 "LocalHost"인 Virtual Host (Host)에 액세스하고 있습니다. 이 가상 호스트는 WebApps 폴더의 모든 웹 응용 프로그램을 관리합니다.
예 : http : // localhost : 8080/javawebdemoproject/1.jsp. 이 URL 주소는 LocalHost라는 가상 호스트의 JavawebDemoProject 응용 프로그램의 1.JSP 웹 리소스에 액세스합니다.
예를 들어 다음과 같이 가상 호스트를 구성 할 수 있습니다.
<호스트 이름 = "www.gacl.cn"appbase = "f :/javawebapps"> </host>
여기에는 가상 호스트의 새로운 구성이 있습니다. 가상 호스트의 이름은 "www.gacl.cn"입니다. 가상 호스트 "www.gacl.cn"은 이제 Javawebapps 폴더의 모든 웹 응용 프로그램을 관리합니다. 일반적으로 인터넷에서 도메인 이름 "www.baidu.com"을 사용하여 Baidu의 웹 사이트를 방문하면 실제로 "www.baidu.com"이라는 이름의 가상 호스트를 방문합니다. 따라서 "www.gacl.cn"이라는 이름으로 가상 호스트에 액세스하려면 "도메인 이름 (www.gacl.cn)을 사용하여 액세스 할 수 있습니다. appbase = "f :/javawebapps"에 유의하십시오. 여기서 javawebapps 폴더는 프로젝트의 루트 디렉토리가 아니라 아래 그림과 같이 하나 이상의 javaweb 응용 프로그램을 저장하는 폴더를 나타냅니다.
그것은 많은 Javaweb 응용 프로그램을 저장하는 Tomcat 서버의 WebApps 폴더와 같습니다.
3.2. Windows 시스템에 도메인 이름을 등록하십시오
구성된 호스트 (웹 사이트)가 도메인 이름을 통해 외부에 액세스하려면 DNS 서버 또는 Windows 시스템에서 웹 사이트에 액세스 할 때 사용 된 도메인 이름을 등록하고 아래 그림과 같이 "C :/Windows/System32/Drivers/Etc"디렉토리에서 호스트 파일을 찾아야합니다.
이 파일을 편집하고 새로 추가 된 웹 사이트의 도메인 이름과 IP 주소를 함께 바인딩하여 브라우저에서 도메인 이름 www.gacl.cn을 사용하여 가상 호스트 이름 www.gacl.cn에서 관리되는 웹 응용 프로그램에 액세스 할 수 있습니다.
브라우저를 사용하여 도메인 이름 "www.gacl.cn"을 통해 도메인 이름 "www.gacl.cn"의 도메인 이름으로 javawebdemo1 웹 응용 프로그램의 1.JSP 웹 리소스에 액세스하십시오. 가상 호스트 "www.gacl.cn"은 8080 포트를 엽니 다. 사용자는이 8080 포트를 통해 javawebdemo1 웹 응용 프로그램 하에서 1.JSP 웹 리소스에만 액세스 할 수 있습니다.
4. 브라우저와 서버 간의 상호 작용 프로세스
4.1. 브라우저 및 서버 상호 작용 다이어그램
브라우저 및 서버 상호 작용 다이어그램
브라우저 주소 표시 줄에서 브라우저를 열고 URL 주소 "http://www.gacl.cn:8080/javawebdemo1/1.jsp"를 입력하면 서버의 1.JSP 웹 리소스에 액세스하여 브라우저 및 서버는 마법 작동을 수행했습니다. 브라우저에서 1.JSP 웹 리소스의 내용을 어떻게 보십니까?
브라우저와 서버는 다음을 수행합니다.
1. 브라우저는 호스트 이름 "www.gacl.cn"을 기반으로 운영 체제의 호스트 파일의 호스트 이름에 해당하는 호스트 이름을 검색합니다.
2. 브라우저가 운영 체제의 호스트 파일에서 해당 IP 주소를 찾지 못하면 인터넷의 DNS 서버로 이동하여 호스트 "www.gacl.cn"의 해당 IP 주소를 찾으십시오.
3. 브라우저에서 호스트 "www.gacl.cn"의 해당 IP 주소를 찾은 후 IP 주소를 사용하여 웹 서버에 연결합니다.
4. 브라우저가 웹 서버에 연결 한 후 HTTP 프로토콜을 사용하여 요청을 서버로 보냅니다. 요청을 보내는 과정에서 브라우저는 스트림 형식으로 웹 서버로 데이터를 전송하여 아래 그림과 같이 웹 애플리케이션 웹 리소스에 액세스 할 Web Application 웹 리소스를 알려줍니다.
브라우저가 웹 서버에 요청을 보낼 때 서버로 전송되는 데이터입니다. "get /javawebdemo1/1.jsp http/1.1"의 내용을 설명해 봅시다.
GET : 웹 서버에 브라우저가 GET에서 요청을 서버에 보낸다고 알려줍니다.
/javawebdemo1/1.jsp : 웹 서버에 브라우저가 Javawebdemo1 응용 프로그램에서 1.jsp 웹 리소스에 액세스하려고합니다.
HTTP/1.1 : 웹 서버에 브라우저가 HTTP 프로토콜을 사용하여 요청하고 1.1 버전을 사용한다고 말합니다.
5. 브라우저에서 위의 4 단계를 완료 한 후 웹 서버가 액세스하려는 1.JSP 웹 리소스를 전송할 때까지 대기하기 시작합니다.
6. 서버가 브라우저에서 전송 한 데이터를 수신 한 후 수신 된 데이터를 구문 분석하기 시작합니다. 서버가 "get /javawebdemo1/1.jsp http/1.1"에서 내용을 구문 분석하면 클라이언트 브라우저가 Javawebdemo1 응용 프로그램에서 1.jsp 웹 리소스에 액세스하려고한다는 것을 알고 있습니다. 그런 다음 서버는 1.JSP 웹 리소스의 내용을 읽고 아래 그림과 같이 읽기 내용을 스트림 형태로 브라우저로 전송합니다.
이것은 웹 서버에서 브라우저로 전송되는 데이터입니다.
7. 브라우저가 서버에서 전송 한 데이터를 가져 오면 아래 그림과 같이 데이터를 사용자에게 표시 할 수 있습니다.
내가 본 "Javawebdemo1"은 브라우저가 서버에서 다시 전송 된 데이터를 구문 분석하는 효과입니다.
서버에서 다시 전송 된 데이터 :
HTTP/1.1 200 OKServer : Apache-Coyote/1.1content-type : text/html; charset = iso-8859-1content-length : 102date : 102date : 2014 년 5 월 19 일 Mon 14:25:14 Gmt <html> <head> <title> javawebdemo1 </head> </head> <bodybawebdemo1. </body> </html>
이것은 브라우저와 서버 간의 상호 작용 프로세스입니다.
5. Javaweb 응용의 구성 구조
Javaweb 애플리케이션을 개발할 때 다양한 유형의 파일에는 엄격한 저장 규칙이 있습니다. 그렇지 않으면 웹 응용 프로그램에 액세스 할 수 없을뿐만 아니라 웹 서버가 오류를 시작하게 할 수 있습니다.
Webroot → 웹 응용 프로그램이있는 디렉토리. 일반적으로 가상 디렉토리는이 폴더로 구성되어야합니다.
wweb-inf :이 폴더는 Webroot 폴더에 있어야 하며이 양식으로 이름을 지정해야합니다.
┝web.xml : configuration 파일, 형식 요구 사항이있는이 파일은이 양식으로 명명되어야하며 웹 -INF 폴더에 배치해야합니다.
web.xml의 형식은 tomcat에서 직접 참조 할 수 있습니다. tomcat 디렉토리의 webapps/root/web-inf 디렉토리에서 web.xml 파일을 찾아서 새로 생성 된 Web-Inf 폴더로 파일을 복사 한 다음 Web.xml 파일을 수정하고 아래에 표시된 코드 만 삭제합니다.
web.xml :
<? xml version = "1.0"alcoding = "iso-8859-1"?> <web-app xmlns = "http://java.sun.com/xml/ns/javaee"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance" xsi : schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_505_5.xsd"version = "2.5"> <display-name> tomcat에 오신 것을 환영합니다> tomcat에 오신 것을 환영합니다>
이것은 web.xml 파일의 형식입니다.
위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.