ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>julia一区二区中文久久94 ,2019中文字幕在线视频,粉嫩精品导航导航http://www.aygfsteel.com/jjshcc/category/48750.html桑巴葡语¾˜»è¯‘工作室是òq¿å·žå¸‚最专业葡萄牙语¾˜»è¯‘机构-www.puyufanyi.com-‹Æ¢è¿Žå¯ÀL‰¾Java,As400,Mainframe的猎头eric_cc#qq.ccom(æŠ?换成@)zh-cnTue, 07 Jan 2014 03:58:43 GMTTue, 07 Jan 2014 03:58:43 GMT60Servlet¾U¿ç¨‹å®‰å…¨çš„è§£å†Ïx–¹æ³?/title><link>http://www.aygfsteel.com/jjshcc/archive/2014/01/07/408616.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Tue, 07 Jan 2014 03:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/jjshcc/archive/2014/01/07/408616.html</guid><wfw:comment>http://www.aygfsteel.com/jjshcc/comments/408616.html</wfw:comment><comments>http://www.aygfsteel.com/jjshcc/archive/2014/01/07/408616.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jjshcc/comments/commentRss/408616.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jjshcc/services/trackbacks/408616.html</trackback:ping><description><![CDATA[<div><div>Servlet体系¾l“构是徏立在Java多线½E‹æœºåˆ¶ä¹‹ä¸Šçš„åQŒå®ƒçš„生命周期是由Web容器负责的ã€?/div><div></div><div>当客æˆïL«¯½W¬ä¸€‹Æ¡è¯·æ±‚某个Servletæ—Óž¼ŒServlet容器ž®†ä¼šæ ÒŽ®web.xml配置文äšg实例化这个Servlet¾c…R€‚当有新的客æˆïL«¯è¯äh±‚该Servletæ—Óž¼Œä¸€èˆ¬ä¸ä¼šå†å®žä¾‹åŒ–该Servlet¾c»ï¼Œä¹Ÿå°±æ˜¯æœ‰å¤šä¸ª¾U¿ç¨‹åœ¨ä‹É用这个实例ã€?/div><div></div><div>˜q™æ ·çš„话åQŒå½“两个或多个线½E‹åŒæ—¶è®¿é—®åŒä¸€ä¸ªServletæ—Óž¼Œå¯èƒ½ä¼šå‘生多个线½E‹åŒæ—¶è®¿é—®åŒä¸€èµ„源的情况,数据可能会变得不一è‡ß_¼Œæ‰€ä»¥å°±å¾ˆå®¹æ˜“造成一¾pÕdˆ—的一些安全性问题ã€?/div><div></div><div>解决此类的方法也有多</div><div></div><div>1、实çŽ?SingleThreadModel 接口</div><div></div><div>该接口指定了¾pȝ»Ÿå¦‚何处理对同一个Servlet的调用。如果一个Servlet被这个接口指定,那么在这个Servlet中的serviceæ–ÒŽ³•ž®†ä¸ä¼šæœ‰ä¸¤ä¸ª¾U¿ç¨‹è¢«åŒæ—¶æ‰§è¡Œï¼Œå½“然也就不存在线½E‹å®‰å…¨çš„问题。这¿Uæ–¹æ³•只要ç‘ô承这个接口就行了</div><div></div><div>public class XXXXX extends HttpServlet implements SingleThreadModel {  </div><div>…………  </div><div>} </div><div>2、同步对å…׃ín数据的操ä½?/div><div></div><div>使用synchronized 关键字能保证一‹Æ¡åªæœ‰ä¸€ä¸ªçº¿½E‹å¯ä»¥è®¿é—®è¢«ä¿æŠ¤çš„区ŒDµï¼Œåœ¨æœ¬è®ºæ–‡ä¸­å¯ä»¥é€šè¿‡åŒæ­¥å—操作来保证Servlet的线½E‹å®‰å…¨ã€‚同步后的代码如下:</div><div></div><div>Public class XXXXXX extends HttpServlet {  </div><div>    …………  </div><div>synchronized (this){XXXX}  </div><div> </div><div>} </div><div>3、避免ä‹É用实例变é‡?/div><div></div><div>¾U¿ç¨‹å®‰å…¨é—®é¢˜˜q˜æœ‰äº›æ˜¯ç”±å®žä¾‹å˜é‡é€ æˆçš„,只要在Servlet里面的ä“Q何方法里面都不ä‹É用实例变量,那么该Servletž®±æ˜¯¾U¿ç¨‹å®‰å…¨çš„ã€?/div><div></div><div>对上面的三种æ–ÒŽ³•˜q›è¡Œ‹¹‹è¯•åQŒå¯ä»¥è¡¨æ˜Žç”¨å®ƒä»¬éƒ½èƒ½è®¾è®¡å‡ºçº¿½E‹å®‰å…¨çš„Servlet½E‹åºã€‚但是,如果一个Servlet实现了SingleThreadModel接口åQŒServlet引擎ž®†äؓ每个新的è¯äh±‚创徏一个单独的Servlet实例åQŒè¿™ž®†å¼•起大量的¾pȝ»Ÿå¼€é”€ã€‚SingleThreadModel在Servlet2.4中已不再提倡ä‹É用;同样如果在程序中使用同步来保护要使用的共享的数据åQŒä¹Ÿä¼šä‹É¾pȝ»Ÿçš„æ€§èƒ½å¤§å¤§ä¸‹é™ã€‚è¿™æ˜¯å› ä¸ø™¢«åŒæ­¥çš„代码块在同一时刻只能有一个线½E‹æ‰§è¡Œå®ƒåQŒä‹É得其同时处理客户è¯äh±‚的吞吐量降低åQŒè€Œä¸”很多客户处于é˜Õd¡žçŠ¶æ€ã€‚å¦å¤–äØ“ä¿è¯ä¸Õd­˜å†…容和线½E‹çš„工作内存中的数据的一致性,要频¾Jåœ°åˆäh–°¾~“å­˜,˜q™ä¹Ÿä¼šå¤§å¤§åœ°å½±å“¾pȝ»Ÿçš„æ€§èƒ½ã€‚所以在实际的开发中也应避免或最ž®åŒ–Servlet 中的同步代码åQ›åœ¨Serlet中避免ä‹É用实例变量是保证Servlet¾U¿ç¨‹å®‰å…¨çš„æœ€ä½³é€‰æ‹©ã€‚从Java 内存模型也可以知道,æ–ÒŽ³•中的临时变量是在栈上分配½Iºé—´åQŒè€Œä¸”每个¾U¿ç¨‹éƒ½æœ‰è‡ªå·±¿Uæœ‰çš„æ ˆ½Iºé—´åQŒæ‰€ä»¥å®ƒä»¬ä¸ä¼šåª„响线½E‹çš„安全ã€?/div><div></div><div>ž®ç»“</div><div></div><div>Servlet的线½E‹å®‰å…¨é—®é¢˜åªæœ‰åœ¨å¤§é‡çš„åÆˆå‘è®¿é—®æ—¶æ‰ä¼šæ˜„¡Ž°å‡ºæ¥åQŒåƈ且很隑֏‘玎ͼŒå› æ­¤åœ¨ç¼–写Servlet½E‹åºæ—¶è¦ç‰¹åˆ«æ³¨æ„ã€‚线½E‹å®‰å…¨é—®é¢˜ä¸»è¦æ˜¯ç”±å®žä¾‹å˜é‡é€ æˆçš„,因此在Servlet中应避免使用实例变量。如果应用程序设计无法避免ä‹Éç”¨å®žä¾‹å˜é‡ï¼Œé‚£ä¹ˆä½¿ç”¨åŒæ­¥æ¥ä¿æŠ¤è¦ä½¿ç”¨çš„å®žä¾‹å˜é‡ï¼Œä½†äØ“ä¿è¯¾pȝ»Ÿçš„æœ€ä½Ïx€§èƒ½åQŒåº”该同步可用性最ž®çš„代码路径ã€?/div></div><img src ="http://www.aygfsteel.com/jjshcc/aggbug/408616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jjshcc/" target="_blank">Eric_jiang</a> 2014-01-07 11:13 <a href="http://www.aygfsteel.com/jjshcc/archive/2014/01/07/408616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet中的service()æ–ÒŽ³•重写与不重写http://www.aygfsteel.com/jjshcc/archive/2014/01/06/408572.htmlEric_jiangEric_jiangMon, 06 Jan 2014 06:54:00 GMThttp://www.aygfsteel.com/jjshcc/archive/2014/01/06/408572.htmlhttp://www.aygfsteel.com/jjshcc/comments/408572.htmlhttp://www.aygfsteel.com/jjshcc/archive/2014/01/06/408572.html#Feedback0http://www.aygfsteel.com/jjshcc/comments/commentRss/408572.htmlhttp://www.aygfsteel.com/jjshcc/services/trackbacks/408572.html阅读全文

Eric_jiang 2014-01-06 14:54 发表评论
]]>
jsp:directive.pagehttp://www.aygfsteel.com/jjshcc/archive/2014/01/02/408396.htmlEric_jiangEric_jiangThu, 02 Jan 2014 08:18:00 GMThttp://www.aygfsteel.com/jjshcc/archive/2014/01/02/408396.htmlhttp://www.aygfsteel.com/jjshcc/comments/408396.htmlhttp://www.aygfsteel.com/jjshcc/archive/2014/01/02/408396.html#Feedback0http://www.aygfsteel.com/jjshcc/comments/commentRss/408396.htmlhttp://www.aygfsteel.com/jjshcc/services/trackbacks/408396.html
<jsp:directive.page import="zero.space.ch03.BookBean"/>  
½{‰æ•ˆäº?/div>
<%@ page import="zero.space.ch03.BookBean" %>  
但是有一点不同,如果你把所有类包的引入攑֜¨ä¸€ä¸ªJSP中,在其他jsp中通include引入那个jsp。这时引入类ž®±å¿…™å»é‡‡ç”?/div>
<%@ page import="zero.space.ch03.BookBean" %>  
˜q™æ ·çš„写法ã€?/div>
<jsp:directive.page import="zero.space.ch03.BookBean"/>
˜q™ç§å†™æ³•只能在同一个jsp™åµé¢ä¸­ä‹É用,不能跨页调用


]]>‹‚€æŸ¥cookie是否可用 http://www.aygfsteel.com/jjshcc/archive/2013/12/25/408029.htmlEric_jiangEric_jiangWed, 25 Dec 2013 08:39:00 GMThttp://www.aygfsteel.com/jjshcc/archive/2013/12/25/408029.htmlhttp://www.aygfsteel.com/jjshcc/comments/408029.htmlhttp://www.aygfsteel.com/jjshcc/archive/2013/12/25/408029.html#Feedback0http://www.aygfsteel.com/jjshcc/comments/commentRss/408029.htmlhttp://www.aygfsteel.com/jjshcc/services/trackbacks/408029.html

ž®½ç®¡æˆ‘所知道的浏览器都支持cookie的设¾|®ï¼Œä¸è¿‡ç”¨æˆ·å¯ä»¥æœ‰æ„è¯†çš„ž®†å®ƒå…³é—­åQŒæˆ–者无意识的将它关闭。当你在你的servlets/JSP™åµé¢ä¸­ä‹É用cookieæ—Óž¼Œä½ ä¸èƒ½ä¿è¯ç”¨æˆïLš„‹¹è§ˆå™¨æ˜¯å¦å¯ä»¥æŽ¥å—cookieåQï¼ä½ éœ€è¦å…ˆ‹‚€æŸ¥ä¸€ä¸‹ã€‚这儿有一个检查用æˆïLš„‹¹è§ˆå™¨çš„cookie是否有效的小技巧ã€?/p>

˜q™ä¸ªæŠ€å·§å¾ˆ½Ž€å•。你从servlet或JSP向用æˆïLš„‹¹è§ˆå™¨å‘å‡ÞZ¸€ä¸ªHTTP回应åQŒå¼ºè¡Œä‹É‹¹è§ˆå™¨åœ¨½W¬äºŒ‹Æ¡è¿”回。在½W¬ä¸€‹Æ¡çš„响应中,你发å‡ÞZ¸€ä¸ªcookie。当‹¹è§ˆå™¨ç¬¬äºŒæ¬¡˜q”回的时候,‹‚€æŸ¥ä¸Šä¸€‹Æ¡å‘出的cookie。如果cookie存在åQŒè¯´æ˜Žæµè§ˆå™¨çš„cookie功能可用。否则说明用æˆïLš„‹¹è§ˆå™¨å¤ªè€ï¼Œä¸æ”¯æŒcookieåQŒæˆ–者浏览器的cookie功能被关闭ã€?/p>

JSP™åµé¢ç”¨ä¸‹é¢è¿™ŒDµä»£ç æ£€æŸ¥cookie是否有效。如果有效,那么™åµé¢çš„返回字½W¦ä¸²ä¸?#8220;Cookie is on”.若无效则ä¸?#8220;Cookie is off”:

<%
  if (request.getParameter("flag")==null) {
    // the first request
    Cookie cookie = new Cookie("cookieSetting", 
"on");
    response.addCookie(cookie);
    String nextUrl = request.getRequestURI() + 
"?flag=1";
    // force the browser to refresh
    out.println("<META HTTP-EQUIV=Refresh 
CONTENT=0;URL=" + nextUrl +">");
  }
  else {
    // the second request
    Cookie[] cookies = request.getCookies();
    boolean cookieFound = false;
    if (cookies!=null) {
      int length = cookies.length;
      for (int i=0; i<length; i++) {
        Cookie cookie = cookies[i];
        if 
(cookie.getName().equals("cookieSetting") &&
          cookie.getValue().equals("on")) {
          cookieFound = true;
          break;
        }
      }
    }
    if (cookieFound) {
      out.println("Cookie is on.");
    }
    else {
      out.println("Cookie is off.");
    }
  }
%>


]]>response.sendRedirect("")å’Œrequest.getRequestDispatcher("").forward(req,resp);http://www.aygfsteel.com/jjshcc/archive/2013/11/28/406941.htmlEric_jiangEric_jiangThu, 28 Nov 2013 06:36:00 GMThttp://www.aygfsteel.com/jjshcc/archive/2013/11/28/406941.htmlhttp://www.aygfsteel.com/jjshcc/comments/406941.htmlhttp://www.aygfsteel.com/jjshcc/archive/2013/11/28/406941.html#Feedback0http://www.aygfsteel.com/jjshcc/comments/commentRss/406941.htmlhttp://www.aygfsteel.com/jjshcc/services/trackbacks/406941.html
1åQšrequest.getRequestDispatcher("转发路径").forward(req,resp)该语句是实现è¯äh±‚转发的,当请求进入到该servlet中执行到该语句时åQŒæœåŠ¡å™¨ä¸ä¼šç›´æŽ¥å“åº”è€Œæ˜¯è½¬å‘åˆ°è{发èµ\径得servlet¾l§ç®‹å¤„理åQŒç”±äºŽå°†reqå’Œresp带过åŽÖMº†åQŒæ‰€ä»¥è¿™æœŸé—´æ˜¯æ²¡æœ‰é‡æ–°åˆ›å»ºrequestå’Œresponse对象åQŒæ‰€ä»¥åœ¨æŽ¥ä¸‹æ¥çš„servlet中同样可以获得当前servletçš„request中的参数ã€?br />
2åQšresponse.sendRedirect("")当运行到servlet的该条语句时åQŒæœåŠ¡å™¨ä¼šå“åº”æµè§ˆå™¨ä¸€ä¸ªå°å¿ƒå¤´å‘Šè¯‰‹¹è§ˆå™¨é‡æ–°è¯·æ±‚方法中的èµ\径对应的servletåQŒå› ä¸ºæ˜¯‹¹è§ˆå™¨ä»Žæ–°è¯·æ±‚所以会创徏新的requestå’Œresponse对象åQŒå› æ­¤ä¸Šä¸€‹Æ¡è¯·æ±‚çš„request中的参数无法得到ã€?/div>
很好的理解这两者的原理和区别有助于熟练操作è¯äh±‚çš„è{发和重定向。熟¾lƒçš„æŽ§åˆ¶å‚数获取ã€?nbsp;


]]>
filter-mapping的执行顺序和字符集设¾|®çš„优先¾U?/title><link>http://www.aygfsteel.com/jjshcc/archive/2011/12/29/367501.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Thu, 29 Dec 2011 08:42:00 GMT</pubDate><guid>http://www.aygfsteel.com/jjshcc/archive/2011/12/29/367501.html</guid><wfw:comment>http://www.aygfsteel.com/jjshcc/comments/367501.html</wfw:comment><comments>http://www.aygfsteel.com/jjshcc/archive/2011/12/29/367501.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jjshcc/comments/commentRss/367501.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jjshcc/services/trackbacks/367501.html</trackback:ping><description><![CDATA[<p>问题起因åQ?br />   ä»Šå¤©é‡åˆ°ä¸€ä¸ªäؕ码问题,以前已经配置好了的呀。而且是普遍现象,看来是公å…Þqš„变更引è“v的问题ã€?br />   <br />分析˜q‡ç¨‹åQ?/p> <p>    äºŽæ˜¯å¼€å§‹è¿›è¡Œè°ƒè¯•ï¼Œå› äØ“æ˜¯å…¬å…±é—®é¢˜ï¼Œæ‰€ä»¥å°±å¯¹web.xml最˜q‘的变更˜q›è¡Œå¢žåˆ è°ƒè¯•åQŒå‘现如果ä‹É用SecurityFilterž®±æŠ¥é”™ï¼ŒåŽÀLŽ‰ä¹…æ­£å¸æ€º†ã€?br />  ä»”细‹‚€æŸ¥ï¼Œå‘现如下现象åQ?br />   1、在讄¡½®å­—符集之å‰? 提前调用了request.getParameter()æ–ÒŽ³•åQŒå°±ä¼šå‡ºçŽ°é—®é¢˜ã€‚å³ä½¿åŽæ¥å†è®„¡½®å­—符集,随后的actionæŽ¥æ”¶çš„æ•°æ®ä¹Ÿä¼šäØ•ç ã€?br />    2、对于同一个urlåQŒå¦‚åQ?.doåQŒfilter-mapping 是有™åºåºçš„,按照web.xml中的配置™åºåºã€?/p> <p>    从网上查到的¾l“论åQ?br />   æ ÒŽ®servlet2.3规范filter执行是按照web.xml配置的filter-mapping先后™åºåº˜q›è¡Œæ‰§è¡ŒåQŒæ‰€ä»¥ä¸Šé¢çš„配置会导致遇è§?.doçš„urlè¯äh±‚åQŒå…ˆ˜q›è¡ŒSecurityFilter的过滤器处理åQŒè¿™æ—¶å€™æ²¡æœ‰åš¾~–码处理åQŒå·²¾læ˜¯ä¹Þq åQŒåˆ°ä¸‹é¢çš„filter处理时已¾læ—¶ä¹Þq åQŒå†åšç¼–码处理已¾læ²¡æœ‰ç”¨å¤„ã€?/p> <p>解决办法åQ?nbsp;   <br /> é”™è¯¯çš„顺序:<br />     <br />     <filter-mapping><br />         <filter-name>SecurityFilter</filter-name><br />         <url-pattern>*.do</url-pattern><br />     </filter-mapping><br /> <br />     <filter-mapping><br />         <filter-name>CharacterEncoding</filter-name><br />         <url-pattern>*.do</url-pattern><br />     </filter-mapping><br /> <br />     <filter-mapping><br />         <filter-name>CharacterEncoding</filter-name><br />         <url-pattern>*.jsp</url-pattern><br />     </filter-mapping><br /> <br /> æ­£ç¡®çš„顺序:<br /> <br />     <filter-mapping><br />         <filter-name>CharacterEncoding</filter-name><br />         <url-pattern>*.do</url-pattern><br />     </filter-mapping><br /> <br />     <filter-mapping><br />         <filter-name>CharacterEncoding</filter-name><br />         <url-pattern>*.jsp</url-pattern><br />     </filter-mapping><br /> <br />     <filter-mapping><br />         <filter-name>SecurityFilter</filter-name><br />         <url-pattern>*.do</url-pattern><br />     </filter-mapping> <br /></p><img src ="http://www.aygfsteel.com/jjshcc/aggbug/367501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jjshcc/" target="_blank">Eric_jiang</a> 2011-12-29 16:42 <a href="http://www.aygfsteel.com/jjshcc/archive/2011/12/29/367501.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP自定义标½{‘Ö­¦ä¹?/title><link>http://www.aygfsteel.com/jjshcc/archive/2011/05/30/351326.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Mon, 30 May 2011 05:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/jjshcc/archive/2011/05/30/351326.html</guid><wfw:comment>http://www.aygfsteel.com/jjshcc/comments/351326.html</wfw:comment><comments>http://www.aygfsteel.com/jjshcc/archive/2011/05/30/351326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jjshcc/comments/commentRss/351326.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jjshcc/services/trackbacks/351326.html</trackback:ping><description><![CDATA[<div>自定义标½{„¡š„最大的特点:<br /><br />利用 自定义标½{¾ï¼Œè½¯äšg开发äh员和™åµé¢è®¾è®¡äººå‘˜å¯ä»¥ç‹¬ç«‹åœ°è‡ªç”±å·¥ä½?™åµé¢è®¾è®¡äººå‘˜å¯ä»¥æŠŠç²¾åŠ›é›†ä¸­åœ¨ä½¿ç”¨æ ‡ç­¾(HTML,XML或者JSP)创徏¾|‘ç«™ä¸?而èÊYä»¶å¼€ 发äh员则可以ž®†ç²¾åŠ›é›†ä¸­åœ¨å®žçŽ°åº•å±‚åŠŸèƒ½ä¸Šé¢,若国际化½{‰ç­‰,˜q™æ ·,™åµé¢è®¾è®¡äººå‘˜å¯ä»¥ä½¿ç”¨è‡ªå®šä¹‰æ ‡½{„¡š„形式来实现具体的功能.<br /><br />下面我们来指定一个简单的标签åQŒæ­¥éª¤å¦‚ä¸?br /> <ol><li>扩张TagSupport </li><li>写自定义Tagçš„tldæ–‡äšg </li><li>web.xml中指定你的tldæ–‡äšg </li><li>在JSP™åµé¢ä½¿ç”¨è‡ªå®šä¹‰æ ‡½{?</li></ol> <br /> <ul><li>扩张TagSupport </li></ul>         说明:<br />                一般不会去实现Tag接口åQŒè€Œæ˜¯é€šè¿‡TagSupport¾cÀL˜¯å®žçŽ°äº†Tag的接口ç‘ô承过来的字段åQŒè¿™äº›å­—ŒD는¨åšpublic int               doStartTag()åQŒpublic int doEndTag()˜q”回å€?br />                Tag.EVAL_BODY_INCLUDE 包含ä¸ÖM½“内容<br />                Tag.SKIP_BODY     不包含主体内å®?br />                Tag.EVAL_PAGE      包含后面的页面内å®?<br />                Tag.SKIP_PAGE     不包含主体的内容     <br />实现一个简单实çŽîC»£ç ï¼š<br /> <div>java 代码</div> <div> <div> </div> <ol><li><span>package com.mercyblitz;  </span> </li><li><span>import java.io.IOException;  </span> </li><li><span>import javax.servlet.jsp.JspException;  </span> </li><li><span>import javax.servlet.jsp.JspWriter;  </span> </li><li><span>import javax.servlet.jsp.tagext.TagSupport;  </span> </li><li>   </li><li><span>public class MyTags extends TagSupport {  </span> </li><li>    <span>public int doStartTag()throws JspException  </span> </li><li>    {   </li><li>        JspWriter out=pageContext.getOut();   </li><li>        <span>try  </span> </li><li>        {   </li><li>            out.println(<span>"Hello,World"); //™åµé¢ä¸­æ˜¾½Cºçš„内容  </span> </li><li>        }<span>catch(IOException e)  </span> </li><li>        {   </li><li>            <span>throw new JspException(e);  </span> </li><li>        }   </li><li>        <span>return SKIP_BODY; //不包含主体内å®?nbsp; </span> </li><li>    }   </li><li>}   </li></ol> </div> <br /> <ul><li>写自定义Tagçš„tldæ–‡äšg </li></ul> <div>xml 代码</div> <div> <div> </div> <ol><li><span><?xml version="1.0" encoding="UTF-8"?>  </span> </li><li><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "web-jsptaglibrary_1_2.dtd" <span>>  </span> </li><li><span><taglib>  </span> </li><li>  <span><tlibversion>tlibversion</tlibversion>  <!-- ä½ è‡ªå®šä¹‰æ ‡ç­¾çš„版本数 -->  </span> </li><li>  <span><jsp-version>1.2</jsp-version>  <!-- æŒ‡å®šä½ çš„JSP版本åQŒæ‰©å¼ æ ‡½{¾æ˜¯åœ¨JSP1.2之后兼容çš?nbsp;--?>  </span> </li><li>  <span><shortname>shortname</shortname> <!-- æ ‡ç­¾çš„简å†?nbsp;-->  </span> </li><li>  <span><tag>  </span> </li><li>    <span><name>tags</name>  <!-- æ ‡ç­¾åå­— -->  </span> </li><li>    <span><tagclass>com.mercyblitz.mytags</tagclass>  <!-- æŒ‡å®šä½ çš„æ ‡ç­¾çš„ç±» -->  </span> </li><li>  <span></tag>  </span> </li><li><span></taglib>  </span> </li></ol> </div>          标签库元ç´?lt;taglib>属æ€?表格如下<br />         <table summary="" align="center" border="1" cellpadding="1" cellspacing="1" width="70%"> <caption>属性表æ ?/caption> <tbody> <tr> <td align="center">属æ€?/td> <td align="center">描述</td> </tr> <tr> <td align="center">tlib-version</td> <td align="center">本标½{‘Öº“实现版本</td> </tr> <tr> <td align="center">jsp-version</td> <td align="center">标签库依赖的JSP版本</td> </tr> <tr> <td align="center">short-name</td> <td align="center">被JSP创作工具使用的一个短的默认名è¯?/td> </tr> <tr> <td align="center">uri</td> <td align="center">指定˜q™ä¸ªæ ‡ç­¾åº“çš„uri信息</td> </tr> <tr> <td align="center">display-name</td> <td align="center">被工具ä‹É用的昄¡¤ºç”¨çš„名字</td> </tr> <tr> <td align="center">small-icon</td> <td align="center">被工具ä‹É用的ž®å›¾æ ?/td> </tr> <tr> <td align="center">large-icon</td> <td align="center">被工具ä‹É用的大图æ ?/td> </tr> <tr> <td align="center">description</td> <td align="center">本标½{„¡š„描述</td> </tr> <tr> <td align="center">validator</td> <td align="center">TLD验证信息</td> </tr> <tr> <td align="center">listener</td> <td align="center">实践监听器规èŒ?/td> </tr> </tbody> </table>         tag标签相关属性:<br /> <table summary="" align="center" border="1" cellpadding="1" cellspacing="1" width="70%"> <caption>tag标签相关属性表</caption> <tbody> <tr> <td align="center">属æ€?/td> <td align="center">描述</td> </tr> <tr> <td align="center">name</td> <td align="center">tag标签唯一的名¿U?/td> </tr> <tr> <td align="center">tag-class</td> <td align="center">tag标签的处理类</td> </tr> <tr> <td align="center">tei-class</td> <td align="center">tag标签的TagExtraInfo¾c?/td> </tr> <tr> <td align="center">body-content</td> <td align="center">标签ä¸ÖM½“的内å®?/td> </tr> <tr> <td align="center">display-name</td> <td align="center">昄¡¤ºçš„名¿U?/td> </tr> <tr> <td align="center">small-icon</td> <td align="center">被工具ä‹É用的ž®å›¾æ ?/td> </tr> <tr> <td align="center">large-icon</td> <td align="center">被工具ä‹É用的大图æ ?/td> </tr> <tr> <td align="center">description</td> <td align="center">本标½{„¡š„描述</td> </tr> <tr> <td align="center">variable</td> <td align="center">脚本变量的信æ?/td> </tr> <tr> <td align="center">attribute</td> <td align="center">标签属性的信息</td> </tr> </tbody> </table>             ˜q™äº›å‘¢ï¼Œæ˜¯äؓ以后高çñ”内容说要提到的!<br /> <ul><li>web.xml中指定你的tldæ–‡äšg <div>xml 代码</div> <div> <div> </div> <ol><li><span><?xml version="1.0" encoding="UTF-8"?>  </span> </li><li><span><web-app version="2.4"   </span> </li><li>    <span>xmlns="http://java.sun.com/xml/ns/j2ee"   </span> </li><li>    <span>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   </span> </li><li>    <span>xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   </span> </li><li>    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"<span>>  </span> </li><li>    <span><welcome-file-list>  </span> </li><li>       <span><welcome-file>/WEB-INF/mytag.jsp</welcome-file> <!-- è®„¡½®‹Æ¢è¿Ž™åµé¢ -->  </span> </li><li>    <span></welcome-file-list>  </span> </li><li>    <span><jsp-config>  </span> </li><li>          <span><taglib>  </span> </li><li>        <span><taglib-uri>http://mercyblitz.blog.ccidnet.com/taglibs.tld</taglib-uri> <!-- è®„¡½®è‡ªå®šä¹‰æ ‡½{„¡š„uriåQˆä¸ä¸€å®šå­˜åœ¨ï¼Œä½†æ˜¯ä¸€å®šè¦å”¯ä¸€åQ?为页面的部çÖv做好准备  </span> </li><li>        <span><taglib-location>/WEB-INF/taglibs.tld</taglib-location>  <!--定位你的tldæ–‡äšg的相对èµ\å¾?nbsp;-->  </span> </li><li>      <span></taglib>  </span> </li><li>    <span></jsp-config>  </span> </li><li><span></web-app>  <br /></span></li></ol> </div> </li></ul> <ul><li>™åµé¢éƒ¨çÖvåQšmytag.jsp <div>html 代码</div> <div> <div> </div> <ol><li><span><%@ page language="java" import="java.util.*" pageEncoding="GBK"%>  </span> </li><li><span><%@ taglib uri="http://mercyblitz.blog.ccidnet.com/taglibs.tld" prefix="out" %>  </span> </li><li><span><html>  </span> </li><li>  <span><head>  </span> </li><li>    <span><title>mytag.jsp</title>  </span> </li><li>  <span></head>    </span> </li><li>  <span><body>  </span> </li><li>    <span><out:tags/>  <!-- ™åµé¢æ‰§è¡Œçš„结构,ž®±æ˜¯:  Hello,World --><br /></span></li><li>  <span></body>  </span> </li><li><span></html>  </span> </li></ol> </div> </li></ul></div> <img src ="http://www.aygfsteel.com/jjshcc/aggbug/351326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jjshcc/" target="_blank">Eric_jiang</a> 2011-05-30 13:04 <a href="http://www.aygfsteel.com/jjshcc/archive/2011/05/30/351326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">¶«°¢ÏØ</a>| <a href="http://" target="_blank">ÁÙÏæÊÐ</a>| <a href="http://" target="_blank">ÐÐÌÆÏØ</a>| <a href="http://" target="_blank">¶¨ÐËÏØ</a>| <a href="http://" target="_blank">¶«É½ÏØ</a>| <a href="http://" target="_blank">Óà¸ÉÏØ</a>| <a href="http://" target="_blank">î¡ÄþÏØ</a>| <a href="http://" target="_blank">ÓÀÄþÏØ</a>| <a href="http://" target="_blank">ÖÜÄþÏØ</a>| <a href="http://" target="_blank">ÐËÉ½ÏØ</a>| <a href="http://" target="_blank">ÌìÈ«ÏØ</a>| <a href="http://" target="_blank">·öÓàÏØ</a>| <a href="http://" target="_blank">Î÷ÁÖÏØ</a>| <a href="http://" target="_blank">׿ÄáÏØ</a>| <a href="http://" target="_blank">¶îÃôÏØ</a>| <a href="http://" target="_blank">²©¿Í</a>| <a href="http://" target="_blank">ÑαßÏØ</a>| <a href="http://" target="_blank">¶ÁÊé</a>| <a href="http://" target="_blank">Ëç·ÒºÓÊÐ</a>| <a href="http://" target="_blank">ÇçÂ¡ÏØ</a>| <a href="http://" target="_blank">ÍòÈÙÏØ</a>| <a href="http://" target="_blank">ÉϲÌÏØ</a>| <a href="http://" target="_blank">°²ÔóÏØ</a>| <a href="http://" target="_blank">ÐÂÖñÊÐ</a>| <a href="http://" target="_blank">µ±Í¿ÏØ</a>| <a href="http://" target="_blank">¸ßÃÜÊÐ</a>| <a href="http://" target="_blank">ÑĮ̀ÊÐ</a>| <a href="http://" target="_blank">Ëɽ­Çø</a>| <a href="http://" target="_blank">Æ½Â½ÏØ</a>| <a href="http://" target="_blank">Ê©±üÏØ</a>| <a href="http://" target="_blank">ÔÆ¸¡ÊÐ</a>| <a href="http://" target="_blank">Îâ½­ÊÐ</a>| <a href="http://" target="_blank">ÇØ»ÊµºÊÐ</a>| <a href="http://" target="_blank">ËÞËÉÏØ</a>| <a href="http://" target="_blank">ÎâÆìÏØ</a>| <a href="http://" target="_blank">»ôÉ½ÏØ</a>| <a href="http://" target="_blank">¿Æ¼¼</a>| <a href="http://" target="_blank">·ÖÒËÏØ</a>| <a href="http://" target="_blank">ÃÀ¹ÃÏØ</a>| <a href="http://" target="_blank">Ëç±õÏØ</a>| <a href="http://" target="_blank">Ôó¿âÏØ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>