Using form tag #1

 

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 ip, msg, date;
 
  res.setContentType("text/html");
  PrintWriter toClient = new PrintWriter(res.getOutputStream(),true);
  ip = req.getRemoteHost();
  msg = req.getParameter("msg");
  Date today = new Date();
  date = today.toString();
 
  toClient.println("<html><title> test servlets GET </title>");
  toClient.println("<body bgcolor=white>");
  toClient.println("<br><hr><h1> From Servlet 1 </h1><hr><br><BR>");
  toClient.println("IP of You : "+ip+"<br>");
  toClient.println("<bR>Date of this servlet executed :"+date+"<br>");
  toClient.println("<br>Message from Client : "+msg+"<br>");
  toClient.println("<BR><BR><BR>");
  toClient.println("</body></html>");
 }
}

 

À̹ø ¿¹Á¦´Â From Tag¸¦ »ç¿ëÇÏ¿©¼­ client·ÎºÎÅÍ ³»¿ëÀ» ³Ñ°Ü ¹Þ¾Æ¼­ °á°ú¸¦ Ãâ·ÂÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¼Ò½ºµµ ¸Å¿ì ª°í °£´ÜÇϱ⠶§¹®¿¡ º°·Î ¼³¸í µå¸± °ÍÀÌ ¾ø½À´Ï´Ù.

 

<html>
<title> testing JAVA Servlet Second</title>
<body bgcolor=white>
<br><BR><hr>
<form action=http://[Your Server]:[port]/servlet/form1 method=get><br>
¸Þ¼¼Áö¸¦ ÀÔ·Â Çϼ¼¿ä : <input type=text name=msg><br>
<input type=submit value=Àü¼Û><br></form>
<hr>
</body></html> 

 

À§ÀÇ html ¹®¼­¸¦ ÀÛ¼ºÇØ Áֽʽÿä. °£´ÜÇÑ form tag¸¦ »ç¿ëÇÏ¿© ¼­¹öÃøÀ¸·Î ÀڷḦ º¸³»´Â html¹®¼­ÀÔ´Ï´Ù. ¿©±â¼± html¹®¼­¿¡ ´ëÇÏ¿© ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù. tagµéÀº Á÷Á¢ ´Ù¸¥ °øºÎ¸¦ ÇϽñ⠹ٶø´Ï´Ù.

¿ì¼± 3¹ø° °­Á¿¡¼­ HttpServet Ŭ·¡½º¸¦ ¼³¸íµå¸±¶§ doGetÀ̶ó´Â ¸Þ¼Òµå¸¦ ¼³¸íÇØ µå·È½À´Ï´Ù. (±â¾ïÀÌ ¾È³ª½Ã¸é ´Ù½Ã µ¹¾Æ °¡¼­¼Å Çѹø Àоî ÁÖ¼¼¿ä) Get Method·Î ³Ñ¾î¿À´Â ³»¿ëÀ» ¹Þ¾Æ¼­ ó¸®ÇØ ÁÖ´Â ¸Þ¼Òµå¶ó ¸»¾¸µå·È¾ú½À´Ï´Ù. ±×·³ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾Ë¾Æ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

¿ì¼± form1 class°¡ initializeÇÕ´Ï´Ù. Á÷Á¢ overidingÇØ ÁØ °ÍÀÌ ¾ø±â ¶§¹®¿¡ ±âº»Àû initialize¸¸ ÇÕ´Ï´Ù. ±×¸®°í ½ÇÇàÀÌ µÇ´Â °ÍÀº doGet ¸Þ¼ÒµåÀ̸ç, ÀÌ ¸Þ¼Òµå´Â Get¹æ½ÄÀ¸·Î ÀÚ·á°¡ ³Ñ¾î¿Ã¶§ ÀÚµ¿À¸·Î ½ÇÇàÀÌ µË´Ï´Ù. (¼Ò½º¸¦ Á÷Á¢ º¸Áö ¾Ê¾Æ¼­ ÀßÀº ¸ð¸£°ÚÁö¸¸, ¿ø·¡ÀÇ service¸Þ¼Òµå¿¡¼­ È£ÃâÀ» ÇØ ÁÖ´Âµí ½Í½À´Ï´Ù.) ±×¸®°í´Â º¸½Ã´Â ´ë·Î ½ÇÇàÀÌ µË´Ï´Ù.

 ip = req.getRemoteHost();

À§ÀÇ ¹®ÀåÀº req·ÎºÎÅÍ ClientÃøÀÇ Domain NameÀ» ¾ò¾î ¿É´Ï´Ù. TCP/IPȯ°æ¿¡¼­ ÀÚ·áÀÇ Àü¼ÛÀº ¹Ýµå½Ã packet´ÜÀ§·Î ÀÌ·ç¾î Áý´Ï´Ù. ÀÌ·¯ÇÑ packetÀº ¼Û½ÅÃøÀÇ IP¿Í ¼ö½ÅÃøÀÇ IP°¡ °°ÀÌ µé¾îÀÖ½À´Ï´Ù. ±×·¡¾ß ÀÚ½ÅÀÇ ¸ñÀûÁö°¡ ¾îµðÀÎÁö, ±×¸®°í ó¸®µÈ °á°ú´Â ¾îµð·Î ¹Þ¾Æ¾ß ÇÒÁö¸¦ ¾Ë ¼ö ÀÖÀ¸´Ï±î¿ä. ±×·¯´Ï±î, À̶§ ³Ñ¾î¿Â clientÃøÀÇ IP¸¦ ¿äûÇÏ´Â °ÍÀÌ À§ÀÇ ¸Þ¼Òµå ÀÔ´Ï´Ù. ±×·¯³ª getRemoteHost()¸Þ¼Òµå´Â ±× IP¸¦ °¡Áö°í Domain nameÀ» ¿äûÇÏ´Â ¸Þ¼ÒµåÀÔ´Ï´Ù. ¹°·Ð DomainNameÀ» ¾Ë¾Æ¿À¸é »ç¿ëÀÚ¿¡°Ô ´õ¿í ÆíÇϴϱî, À§ÀÇ ¸Þ¼Òµå°¡ Á¸ÀçÇÕ´Ï´Ù. ±×·¯³ª, packet¿¡ µþ·Á ¿À´Â °ÍÀº IPÀ̹ǷΠÀ§ÀÇ ¸Þ¼Òµå´Â nameserver¿¡ °¡¼­ IP¸¦ °¡Áö°í Domain NameÀ» ¿äûÀ» ÇؾßÇÕ´Ï´Ù. À̶§ ½Ã°£ÀÌ ¿À·¡ °É¸®°Ô µÇ°ÚÁö¿ä. ´ÙÇàÀÌ ¾Ë°í ÀÖ´Â DomainÀ̶ó¸é °£´ÜÈ÷ ¹Þ¾Æ ¿À°ÚÁö¸¸, ¾Æ´Ï¶ó¸é ÇÑÂü ã¾Æ Çì¸Þ¾ß ÇÒ Å״ϱî¿ä. »Ó¸¸ ¾Æ´Ï¶ó ¾ÆÁ÷ ´ëºÎºÐÀÇ IPµéÀº Domain NameÀ» °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. Áï, Á¦°¡ »ç¿ëÇÏ´Â ÄÄÇ»Å͵µ IP address´Â °¡Áö°í ÀÖÁö¸¸, Domain NameÀº °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, Domain nameÀ» ¿äûÇÏ´Â °Í º¸´Ù´Â ±×³É IP¸¦ ¿äûÇÏ´Â °ÍÀÌ ´õ¿í ÁÁÀ» °Í °°½À´Ï´Ù. IP¸¸À» ¿äûÇÏ´Â ¸Þ¼Òµå´Â

req.getRemoteAddr()

ÀÔ´Ï´Ù. ±ÇÀåÇÕ´Ï´Ù. getRemoteHost º¸´Ù´Â getRemoteAddrÀ» »ç¿ëÇϽʽÿä. ¼­¹öÀÇ ºÎÇÏ°¡ ¸¹ÀÌ °É¸®°Ô µË´Ï´Ù.

 
msg = req.getParameter("msg");

Áß¿äÇÑ ¸Þ¼Òµå ÀÔ´Ï´Ù. ¾ÆÁÖ Áß¿äÇÕ´Ï´Ù. form tag¿¡¼­ msg¶ó°í À̸§À» Á¤ÇÑ fieldÀÇ °ªÀ» ¹Þ¾Æ¿À´Â ¸Þ¼Òµå ÀÔ´Ï´Ù. Áï À§ÀÇ html¹®¼­¸¦ º¸¸é

<input type=text name=msg>

¶ó°í µÇ¾î ÀÖ´Â ºÎºÐÀÌ ÀÖ½À´Ï´Ù. À§ÀÇ ºÎºÐÀÌ ¹Ù·Î msg¶ó´Â À̸§À¸·Î textÀÇ Çü½ÄÀ¸·Î ÀڷḦ º¸³»¶ó´Â Àǹ̰¡ µË´Ï´Ù. Áï ³»°¡ asdf¶ó°í ÀÔ·ÂÀ» Çϸé

[Your Server]:[port]/servlet/form1?msg=asdf

¶ó´Â ÇüÅ·Πº¸³» Áö°Ô µË´Ï´Ù. Get¸Þ¼Òµå¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº CGI¸¦ ÂüÁ¶ ÇϽñ¸¿ä, ¿©±â¼­ °£´ÜÈ÷ ¸»¾¸µå¸®ÀÚ¸é, Url¿¡ µÚ¿¡ Ư¼öÇÑ EncodingÀ» Çؼ­ ¼­¹öÃø¿¡ ÀڷḦ º¸³»´Â °ÍÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. URL¿¡ ÀÚ·á´Â Æ÷ÇԵǾ ³Ñ¾î°¡±¸¿ä, ÀÌ·± ¹æ½ÄÀº ÁÖ·Î °Ë»ö¿£Áøµî¿¡¼­ ¸¹ÀÌ »ç¿ëµË´Ï´Ù. ¾ßÈijª, ½É¸¶´ÏµîÀ» »ç¿ëÇϽô٠º¸¸é localtionâ¿¡ ÀÌ»óÇÑ ±Û¾¾µé ¸· µé¾î°¡¸é¼­ À§ÀÇ ¸ð½À°ú ºñ½ÁÇÑ ¸ð½ÀÀ» ¸¹ÀÌ º¸¼ÌÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù.

ÇÏ¿©°£ À§ÀÇ ¹æ½ÄÀ¸·Î ÀÚ·á´Â ³Ñ¾î¿À°Ô µÇ°í ±× ³Ñ¾î¿Â ÀÚ·áµéÀº EncodingµÇ¾î ÀÖ´Ù°í ¸»¾¸ µå·È½À´Ï´Ù. ±× EncodingµÈ ÀÚ·áµéÀ» Servlet¿¡¼­´Â ÀÚµ¿À¸·Î DecodingÇØ ÁÝ´Ï´Ù. ¾ÆÁÖ °£ÆíÇÏÁö¿ä.

msg = req.getParameter("msg");

À§ÀÇ ¸Þ¼Òµå¸£¸£ »ç¿ëÇÏ¸é °£´ÜÈ÷ DecodingµÈ °ªÀ» ¹Þ¾Æ ¿Ã ¼ö ÀÖ½À´Ï´Ù. À̶§ ³Ñ¾î¿À´Â °ªµéÀº ¸ðµÎ StringÇüÀ̸ç, °¢ ÇÊ¿ä¿¡ ¸ÂÃ߾ castingÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÇÏ¿©°£ À§ÀÇ ¸Þ¼Òµå¸¦ ¼öÇàÇϸé msg¶ó´Â StringÇü º¯¼ö¿¡´Â "asdf"¶ó´Â °ªÀÌ µé¾î°¡°Ô µÇÁö¿ä.

±×¸®°í´Â ¼­ºí¸´ÀÌ ½ÇÇàµÈ ½Ã°¢À» ¾Ë¾Æ³»¼­ °°ÀÌ HTMLÇü½ÄÀ¸·Î Ãâ·ÂÀ» ÇØ ÁÝ´Ï´Ù. °á°ú°¡ Àß ³ª¿À°ÚÁö¿ä. ±× °á°ú´Â ¿©±â¼­ È®ÀÎ ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.




¨Ï 1999 Lee Min Goo, All rights are reserved Last modified 1999
If you have any question, send mail to bluehope