Presentation is loading. Please wait.

Presentation is loading. Please wait.

Apache and Tomcat, Sample Form Servlet Application HyunSuk Jung 2002.11.11.

Similar presentations


Presentation on theme: "Apache and Tomcat, Sample Form Servlet Application HyunSuk Jung 2002.11.11."— Presentation transcript:

1 Apache and Tomcat, Sample Form Servlet Application HyunSuk Jung 2002.11.11

2 2 Data Warehousing Lab. DW Apache 소개 가장 인기있는 internet web server 가장 인기있는 internet web server  지속적 패치 파일 제공  최고의 퍼포먼스  무료 제공

3 3 Data Warehousing Lab. DW Apache 기본 설정 (httpd.conf) 지시어설명 port 웹 서버의 기본포트는 80 번으로, 이미 또 다른 프로세스에 의해 80 번 포트가 점유되어 있지는 않은가를 살펴본다. 80 번 포트가 사용되어 지고 있다면, 1024 번 이상의 포트번호를 설정하여 재 시도 해본다. Group #-1 과 같이 지정되어 있으나, 이것을 시스템에서 인식하지 못한다면 nobody 와 같은 적절한 그룹을 지정한다. ServerName 주석이 되어 있는 경우, 시스템에서 사용하는 www.apache.kr.net 와 같은 FQDN 형식으로 입력하여 주며, 도메인이 없는 경우 시스템의 IP 주소를 입력하거나 또는 localhost 로 입력한다. ServerRoot 아파치 웹 서버가 위치하는 경로가 적절히 지정되어 있는지 확인한다. 이 경로는 아파치 생성시에 --prefix 옵션에 지정된 경로이며, 지정하지 않을 경우에는 ‘ /usr/local/apache ’ 의 기본 경로를 가지게 된다. DocumentRoot 아파치 웹 서버의 기본이 되는 문서 디렉토리로, 클라이언트가 요청시에 제일 먼저 DocumentRoot 에 의해 지정된 디렉토리의 문서 내용을 보여주게 된다.

4 4 Data Warehousing Lab. DW Tomcat 소개 아파치 소프트웨어에서 개발되고 있는 Java Servlet 과 JSP(Java Server Page) 등의 자바 기술을 이용할 수 있는 Servlet Container 이다. 아파치 소프트웨어에서 개발되고 있는 Java Servlet 과 JSP(Java Server Page) 등의 자바 기술을 이용할 수 있는 Servlet Container 이다. Tomcat 실행시 Tomcat 실행시

5 5 Data Warehousing Lab. DW Apache 와 Tomcat 을 함께 쓰는 이유 1. Tomcat is not as fast as Apache when it comes to static pages. 2. Tomcat is not as configurable as Apache. 3. Tomcat is not as robust as Apache. 4. Tomcat may not address many sites' need for functionality found only in Apache modules (e.g. Perl, PHP, etc.).

6 6 Data Warehousing Lab. DW 나의 실행 환경 Jdk1.3+Apache2.0.4+Tomcat4.0.4+cocoon2.0.3 의 환경에서 연동하였다. Jdk1.3+Apache2.0.4+Tomcat4.0.4+cocoon2.0.3 의 환경에서 연동하였다.

7 7 Data Warehousing Lab. DW

8 8 Data Warehousing Lab. DW HttpServletRequest, HttpServletResponse 의 개요 HttpServletRequest HttpServletRequest 클라이언트의 모든 요청 정보 보유 request header form data, query parameter InputStream( 클라이언트로부터 전송되어지는 데이터 ) 기타 클라이언트 정보얻기  세션 정보, 쿠키, path... HttpServletResponse HttpServletResponse 클라이언트에게 보내지는 모든 정보 보유 response header OutputStream ( 클라이언트에게 보내지는 데이터 ) 쿠키 설정 세션 설정

9 9 Data Warehousing Lab. DW HttpServletRequest – Request 메시지를 보내어 페이지 받기

10 10 Data Warehousing Lab. DW RequestMessage.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.net.*; public class RequestMessage extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { throws ServletException, IOException { OutputStream out = response.getOutputStream(); OutputStream out = response.getOutputStream(); InetAddress webServer = InetAddress.getByName("kr.yahoo.com"); InetAddress webServer = InetAddress.getByName("kr.yahoo.com"); Socket httpPipe = new Socket(webServer, 80); // 웹서버포트 :80 Socket httpPipe = new Socket(webServer, 80); // 웹서버포트 :80 InputStream is = httpPipe.getInputStream(); InputStream is = httpPipe.getInputStream(); PrintStream os = new PrintStream(httpPipe.getOutputStream()); PrintStream os = new PrintStream(httpPipe.getOutputStream()); os.println("GET " + "/index.html" + " HTTP/1.0\n");// send GET HTTP request os.println("GET " + "/index.html" + " HTTP/1.0\n");// send GET HTTP request int temp; int temp; ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); while ( (temp = is.read())!=-1) { while ( (temp = is.read())!=-1) { baos.write(temp); baos.write(temp); } out.write(baos.toByteArray()); out.write(baos.toByteArray()); os.close(); os.close(); is.close(); is.close(); out.close(); out.close(); }}

11 11 Data Warehousing Lab. DW HttpServletResponse – 다른 페이지 보내기

12 12 Data Warehousing Lab. DW ResponseRedirect.java import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class ResponseRedirect extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { throws ServletException, IOException { response.setContentType("text/html;charset=euc-kr"); response.setContentType("text/html;charset=euc-kr"); PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter(); String gopage = request.getParameter("gopage"); String gopage = request.getParameter("gopage"); if(gopage!=null && gopage.equals("yahoo")){ if(gopage!=null && gopage.equals("yahoo")){ response.sendRedirect("http://www.yahoo.co.kr"); response.sendRedirect("http://www.yahoo.co.kr"); }else { }else { out.println(" "); out.println(" "); out.println(" Response 의 sendRedirect "); out.println(" Response 의 sendRedirect "); out.println(" 다른페이지로 이동하기 위해서는 "); out.println(" 다른페이지로 이동하기 위해서는 "); out.println("URL 에 ?gopage=yahoo 를 붙이시오 "); out.println("URL 에 ?gopage=yahoo 를 붙이시오 "); out.println(" "); out.println(" "); } out.close(); out.close(); }}

13 13 Data Warehousing Lab. DW HttpServletResponse – setHeader

14 14 Data Warehousing Lab. DW SetHeaderTest.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SetHeaderTest extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ throws IOException, ServletException{ response.setContentType("text/html;charset=euc-kr"); response.setContentType("text/html;charset=euc-kr"); PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter(); response.setHeader("Refresh", "URL=http://www.yahoo.co.kr"); response.setHeader("Refresh", "URL=http://www.yahoo.co.kr"); out.println(" "); out.println(" "); out.println(" 잠시만 기다려 주세요... "); out.println(" 잠시만 기다려 주세요... "); out.println(" 5 초후에 yahoo 홈페이지로 이동합니다. "); out.println(" 5 초후에 yahoo 홈페이지로 이동합니다. "); out.println(" "); out.println(" "); }}

15 15 Data Warehousing Lab. DW

16 16 Data Warehousing Lab. DW Sample Form Servlet Application Form1.html testing JAVA Servlet Second 메세지를 입력 하세요 :

17 17 Data Warehousing Lab. DW Form1.java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class form1 extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String server, protocol, querystring, msg, date; int port, leng; res.setContentType("text/html"); PrintWriter toClient = new PrintWriter(res.getOutputStream(),true); server = req.getServerName(); port = req.getServerPort(); protocol= req.getProtocol(); msg = req.getParameter("msg"); //form tag 에서 msg 라고 이름을 정한 field 값을 받아옴. querystring = req.getQueryString(); Date today = new Date(); date = today.toString(); toClient.println(" test servlets GET "); toClient.println(" "); toClient.println(" From Servlet "); toClient.println(" Your Server name : "+server+" "); toClient.println(" Your Port number: "+port+" "); toClient.println(" Your Protocol : "+protocol+" "); toClient.println(" Message from Client : "+msg+" "); toClient.println(" Your Query String : "+querystring+" "); toClient.println(" "); toClient.println(" "); } }


Download ppt "Apache and Tomcat, Sample Form Servlet Application HyunSuk Jung 2002.11.11."

Similar presentations


Ads by Google