servlet×ܽá1 ÏÂÔØ±¾ÎÄ

servlet×ܽá

Servlet

C/S--->Client/Server(¿Í»§»ú/·þÎñÆ÷) Óŵ㣺

1£©ÔËÐÐЧÂʽϸß

2£©½»»¥ÐÔÇ¿ÊʺϾÖÓòÍø£¬ ȱµã£ºÉý¼¶Î¬»¤À§ÄÑ

B£¯S£­£­>Browser/Server(ä¯ÀÀÆ÷/·þÎñÆ÷)

Óŵã:ÎÞÐè¹ØÐĿͻ§¶Ë,Éý¼¶Î¬»¤,Ö»Ðè²Ù×÷·þÎñÆ÷¼´¿É.±È½Ï·½±ã. ȱµã:

1)½»»¥ÐÔÊÇÇëÇó/ÏìӦʽ,ÐèҪͨ¹ýÍøÂç½øÐн»»¥,ЧÂÊÏà¶Ôc/s¼Ü¹¹µÄÈí¼þÀ´Ëµ½ÏµÍ. 2)Òª¿ª·¢½»»¥ÐÔ½ÏÇ¿µÄ½çÃæ±È½ÏÀ§ÄÑ. CGI:×îÔ翪·¢b/s¼Ü¹¹µÄÒ»Ãż¼Êõ ´ÓCGI·Ö³ö 1)΢ÈíµÄASP--->ASP.NET 2)JAVAµÄServlet--->jsp ¿ª·¢¼¼Êõ: ¾²Ì¬ÍøÒ³¼¼Êõ: HTML,JS,CSS

¶¯Ì¬ÍøÒ³¼¼Êõ:(¶¯Ì¬ËµµÄÊÇÊý¾Ý¶¯Ì¬) CGI,ASP,ASP.net,servlet,php,jspµÈ url:

http://192.168.1.250:8888/poll/login.jsp

ЭÒé://µØÖ·(ip-->ÓòÃû):¶Ë¿Ú(Èç¹ûÊÇ80,¿ÉÒÔÊ¡ÂÔ)/webÓ¦ÓÃÃû/×ÊÔ´Ãû web·þÎñÆ÷: (΢ÈíµÄ)IIS: (apacheµÄ)tomcat(¿ªÔ´µÄ):µÈ.. servlet:

1)ÊôÓÚj2eeµÄÆäÖÐÒ»¸ö¼¼Êõ,ÊÇÒ»¸ö¹æ·¶

2)servletÊÇÒ»¸öweb×é¼þ(°üº¬servletÀàºÍËûµÄÃèÊöÐÅÏ¢) ×é¼þÈçjava bean ¿É¸´ÓõÄ

3)servletÔËÐеÄʱºò¾ÍÊÇÒ»¸öjava¶ÔÏó(´´½¨.µ÷ÓÃ.¹ÜÀíÓÉweb·þÎñÆ÷(webÈÝÆ÷)Íê³É).webÈÝÆ÷ÊÇweb·þÎñÆ÷µÄÏß³Ì tomcatµÄwebÈÝÆ÷ÊÇCATALINA web ÈÝÆ÷µ÷ÓÃservlet¶ÔÏóµÄ·½·¨ Ê×ÏÈÓÉwebÈÝÆ÷´´½¨Á½¸ö¶ÔÏó:

1.HttpServletRequest:

°üº¬Á˿ͻ§¶ËÌá½»µÄËùÒÔÐÅÏ¢,ÔÚservletÖÐ ,¿ÉÒÔͨ¹ýÕâ¸ö¶ÔÏó»ñµÃ¿Í»§¶Ë´«µÝ¹ýÀ´µÄÊý¾Ý. 2.HttpServletResponse:

ͨ¹ýÕâ¸ö¶ÔÏó¿ÉÒÔÏò¿Í»§¶Ë·µ»ØÊý¾Ý

public void service(ServletRequest req,ServletResponse res){ }

webÓ¦ÓõÄĿ¼½á¹¹:

Ó¦ÓÃÃû:(webÓ¦ÓõĸùĿ¼µÄÃû×Ö) WEB-INF(±ØÐë):ä¯ÀÀÆ÷²»ÄÜÖ±½Ó·ÃÎÊ classes(´æ·Å.classÎļþ) lib(´æ·ÅµÚÈý·½µÄ.jarÎļþ)

web.xml(ÃèÊöservlet,°üÀ¨ÀàÃûºÍ·ÃÎʱêʶ) html/first.html js/my.js css/my.css jsp/first.jsp META-INF

tomcat·þÎñÆ÷µÄĿ¼½á¹¹:

bin:´æ·ÅһЩ¿ÉÖ´ÐÐÎļþ:±ÈÈçstartup.sh,shutdown.sh

common:´æ·Åtomcat·þÎñÆ÷ºÍËùÒÔwebÓ¦Óö¼¿ÉÒÔʹÓõÄÀàºÍjar°ü conf:´æ·Åtomcat·þÎñÆ÷ʹÓõÄһЩÅäÖÃÎļþ.±ÈÈç service.xmlÖпɸĶ˿ںŠlogs:´æ·Åtomcat·þÎñÆ÷ºÍwebÓ¦ÓÃÊä³öµÄÈÕÖ¾ÐÅÏ¢µÄÎļþ

server:´æ·ÅһЩֻÄÜÓÉtomcat·þÎñÆ÷ʹÓõÄÀàºÍjar°ü,ÒÔ¼°tomcat×Ô´øµÄwebÓ¦Óà shared:´æ·ÅһЩֻÄÜÓÉwebÓ¦ÓÃʹÓõÄÀàºÍjar°ü temp:´æ·ÅһЩÁÙʱÎļþ *webapps:ÓÃÀ´²¿ÊðwebÓ¦ÓÃ

work:´æ·ÅjspÎļþ±»·­ÒëºÍ±àÒëÒÔºóµÄ.javaºÍ.classÎļþ. web¹¤³Ì(IDE):ͨ¹ý¹¤³Ì¿É´´½¨webÓ¦ÓÃ

webÓ¦ÓÃ:(³ÉÆ·Èí¼þ) javax.servlet.Servlet(½Ó¿Ú)

javax.servlet.GenericServlet(³éÏóÀà)

javax.servlet.http.HttpServlet(³éÏóÀà)(½¨ÒéʹÓÃ)

Service-->doGet/doPost(¸ù¾Ý¿Í»§¶ËÇëÇó·½Ê½µ÷ÓÃ,²»ÊÇ·ÇҪͬʱµ÷ÓÃ)

tomcatÓÉÓÚÒѾ­Æô¶¯ÎÞ·¨Æô¶¯ ÓÃÃüÁî ps -ef|grep tomcat ÔÚkill -9 ½ø³ÌºÅ form±íµ¥´¦Àí£º 1.Ìṩ±íµ¥

a)Ìṩһ¸öhtmlÒ³Ãæ°üº¬Ò»¸öform±íµ¥

b)Ìṩһ¸öservlet·µ»ØÒ»¸öform±íµ¥ form±íµ¥actionÊôÐÔÖ¸¶¨µÄ·¾¶ a)Ïà¶Ô·¾¶ register b)¾ø¶Ô·¾¶

/servlet/form/register 2.ÖÐÎÄÂÒÂëÎÊÌâ a£©get·½Ê½Ìá½»

½â¾ö°ì·¨£¬ÔÚ·þÎñÆ÷ÖÐÉèÖÿͻ§¶ËÌá½»ÇëÇóµÄURIµÄ±àÂëÀàÐÍ ÔÚserver.xmlÖÐ

ÔÚserverÖлñµÃ¿Í»§¶ËÌá½»µÄ²ÎÊý֮ǰ£¬µ÷ÓÃreq¶ÔÏóµÄsetCharacterEncoding·½·¨É趨±àÂëÀàÐÍ¡£ c£©ÏìÓ¦

ÔÚserverÖлñµÃÊä³öÁ÷֮ǰ£¬µ÷ÓÃresponse¶ÔÏóµÄµÄsetCharacterEncoding·½·¨É趨±àÂëÀàÐÍ¡£

3.method=\ºÍmethod=\±íµ¥µÄÁ½ÖÖÌá½»·½Ê½±È½Ï) getÇëÇó:

a)Ö±½ÓÔÚä¯ÀÀÆ÷µØÖ·À¸ÊäÈëÇëÇóµÄURL·¢ÆðµÄÇëÇó: b)µã»÷Ò»¸ö³¬Á¬½Ó·¢ÆðµÄÇëÇó

c)Ìá½»Ò»¸öform±íµ¥µ«form±íµ¥µÄmethod²»Ö¸¶¨»òÖ¸¶¨getµÄʱºò ÌØµã:

Ìá½»µÄÊý¾Ý·ÅÔÚÇëÇóµÄÍ·²¿,Ò»°ãÔÚ²éѯÊý¾ÝµÄʱºòÎÒÃÇ»áÑ¡Ôñget·½·¨·¢ÆðÇëÇó postÇëÇó:

a)Ìá½»Ò»¸ömethodÊôÐÔÖ¸¶¨ÎªpostµÄ±íµ¥·¢ÆðµÄÇëÇó. ÌØµã:

Ìá½»µÄÊý¾Ý·ÅÔÚÇëÇóÌ岿,ÔÚÏò¿Í»§¶ËÌá½»Êý¾ÝµÄʱºòÎÒÃÇ»áÑ¡ÔñʹÓÃpost·½Ê½·¢ÆðÇëÇó. 4.request/response¶ÔÏóÖеķ½·¨

request.getContextPath();·µ»ØwebµÄÓ¦Óõĸù·¾¶ request.getMethod();·µ»ØÇëÇó·½Ê½,get»òpost

request.getParameterMap();»ñµÃ¿Í»§¶ËÌá½»µÄËùÓвÎÊý,°üÀ¨²ÎÊýÃû×ÖºÍÖµ request.getParameterNames();»ñµÃ¿Í»§¶Ë²ÎÊýÃû×Ö

request.getQueryString();·µ»ØURIºóÃæËù¸ú×ŵIJÎÊý Èç¹ûÊÇpost·½Ê½Ìá½»·µ»Ønull request.setCharacterEncoding(\É趨¿Í»§¶ËÌá½»µÄÄÚÈݵıàÂëÀàÐÍ 5.servletµÄurl-patternµÄд·¨(²¹³ä) a)ÒÔ\¿ªÊ¼,ºóÃæ¸úמßÌåµÄÄÚÈÝ b)ǰͨÅä(*) :Èç *.do,*.action c)ºóͨÅä Èç: /form/*,/basic/*

ServletµÄÉúÃüÖÜÆÚ(Ëĸö½×¶Î) 1)×°ÔØºÍʵÀý»¯½×¶Î ´´½¨Õß:webÈÝÆ÷ ´´½¨Çé¿ö:

(1)µÚÒ»´Î·ÃÎʵÄʱºò´´½¨

num(numĬÈÏΪ-1) µ±num<0ʱ,µÚÒ»´Î·ÃÎÊʱ´´½¨servletʵÀý (2)webÓ¦Óñ»°²×°µÄʱºò´´½¨(Æô¶¯·þÎñÆ÷)

µ±num >=0ʱ,servletÔÚwebÓ¦Óñ»°²×°µÄʱºò´´½¨ ´´½¨Ë³Ðò:

num=0,×îÍí±»´´½¨ num>0,ֵԽСԽÔç±»´´½¨ 2)³õʼ»¯½×¶Î µ÷ÓÃÕß:webÈÝÆ÷

public void init(ServletConfig config){}

ÔÚGenericServletÖÐÒѾ­¶ÔÓвεÄinit·½·¨×÷ÁËʵÏÖ public abstract class GenericServlet implement Servlet{ private ServletConfig config;

public void init(ServletConfig config){ this.config=config; this.init(); }

public void init(){