NOVOTS KMS ´Ê»ã±í Glossary    ÁªÏµÎÒÃÇ Contact Us
²éѯ Search  
   
°´Àà±ðä¯ÀÀ Browse by Category
NOVOTS KMS .: JAVAÓ¦Ó÷þÎñÆ÷ .: ÔÚjspÒ³ÃæÖÐÏìÓ¦ËÙ¶ÈÌá¸ßµÄ7ÖÖ·½·¨

ÔÚjspÒ³ÃæÖÐÏìÓ¦ËÙ¶ÈÌá¸ßµÄ7ÖÖ·½·¨

¡¡·½·¨Ò»£ºÔÚservletµÄinit()·½·¨Öлº´æÊý¾Ý

¡¡¡¡µ±Ó¦Ó÷þÎñÆ÷³õʼ»¯servletʵÀý Ö®ºó£¬Îª¿Í»§¶ËÇëÇóÌṩ·þÎñ֮ǰ£¬Ëü»áµ÷ÓÃÕâ¸öservletµÄinit()·½·¨¡£ÔÚÒ»¸öservletµÄÉúÃüÖÜÆÚÖУ¬init()·½·¨Ö»»á±»µ÷ÓÃÒ»´Î¡£ ͨ¹ýÔÚinit()·½·¨Öлº´æÒ»Ð©¾²Ì¬µÄÊý¾Ý»òÍê³ÉһЩֻÐèÒªÖ´ÐÐÒ»´ÎµÄ¡¢ºÄʱµÄ²Ù×÷£¬¾Í¿É´ó´óµØÌá¸ßϵͳÐÔÄÜ¡£

¡¡¡¡ÀýÈ磬ͨ¹ýÔÚ init()·½·¨Öн¨Á¢Ò»¸öJDBCÁ¬½Ó³ØÊÇÒ»¸ö×î¼ÑÀý×Ó£¬¼ÙÉèÎÒÃÇÊÇÓÃjdbc2.0µÄDataSource½Ó¿ÚÀ´È¡µÃÊý¾Ý¿âÁ¬½Ó£¬ÔÚͨ³£µÄÇé¿öÏ£¬ÎÒ ÃÇÐèҪͨ¹ýJNDIÀ´È¡µÃ¾ßÌåµÄÊý¾ÝÔ´¡£ÎÒÃÇ¿ÉÒÔÏëÏóÔÚÒ»¸ö¾ßÌåµÄÓ¦ÓÃÖУ¬Èç¹ûÿ´ÎSQLÇëÇó¶¼ÒªÖ´ÐÐÒ»´ÎJNDI²éѯµÄ»°£¬ÄÇϵͳÐÔÄܽ«»á¼±¾çϽµ¡£½â ¾ö·½·¨ÊÇÈçÏ´úÂ룬Ëüͨ¹ý»º´æDataSource£¬Ê¹µÃÏÂÒ»´ÎSQLµ÷ÓÃʱÈÔÈ»¿ÉÒÔ¼ÌÐøÀûÓÃËü£º

public class ControllerServlet extends HttpServlet{
private javax.sql.DataSource testDS = null; ¡¡
public void init(ServletConfig config) throws ServletException¡¡{
super.init(config); ¡¡¡¡
Context ctx = null;¡¡¡¡
try{ ¡¡¡¡¡¡
ctx = new InitialContext();¡¡¡¡¡¡
testDS = (javax.sql.DataSource)ctx.lookup("jdbc/testDS");
}catch(NamingException ne){ne.printStackTrace();}
}catch(Exception e){e.printStackTrace();}
}¡¡
public javax.sql.DataSource getTestDS(){¡¡
¡¡return testDS;¡¡
}¡¡
...
...
}

¡¡¡¡·½·¨ 2:½ûÖ¹servletºÍJSP ×Ô¶¯ÖØÔØ(auto-reloading)

¡¡ ¡¡Servlet/JSPÌṩÁËÒ»¸öʵÓõļ¼Êõ£¬¼´×Ô¶¯ÖØÔؼ¼Êõ£¬ËüΪ¿ª·¢ÈËÔ±ÌṩÁËÒ»¸öºÃµÄ¿ª·¢»·¾³£¬µ±Äã¸Ä±äservletºÍJSPÒ³Ãæºó¶ø²»±ØÖØÆô Ó¦Ó÷þÎñÆ÷¡£È»¶ø£¬ÕâÖÖ¼¼ÊõÔÚ²úÆ·ÔËÐн׶ζÔϵͳµÄ×ÊÔ´ÊÇÒ»¸ö¼«´óµÄËðºÄ£¬ÒòΪËü»á¸øJSPÒýÇæµÄÀà×°ÔØÆ÷(classloader)´øÀ´¼«´óµÄ¸ºµ£¡£Òò ´Ë¹Ø±Õ×Ô¶¯ÖØÔع¦ÄܶÔϵͳÐÔÄܵÄÌáÉýÊÇÒ»¸ö¼«´óµÄ°ïÖú¡£

¡¡¡¡·½·¨ 3: ²»ÒªÀÄÓÃHttpSession

¡¡ ¡¡ÔںܶàÓ¦ÓÃÖУ¬ÎÒÃǵijÌÐòÐèÒª±£³Ö¿Í»§¶ËµÄ״̬£¬ÒÔ±ãÒ³ÃæÖ®¼ä¿ÉÒÔÏ໥ÁªÏµ¡£µ«²»ÐÒµÄÊÇÓÉÓÚHTTP¾ßÓÐÌìÉúÎÞ״̬ÐÔ£¬´Ó¶øÎÞ·¨±£´æ¿Í»§¶ËµÄ״̬¡£Òò´Ë Ò»°ãµÄÓ¦Ó÷þÎñÆ÷¶¼ÌṩÁËsessionÀ´±£´æ¿Í»§µÄ״̬¡£ÔÚJSPÓ¦Ó÷þÎñÆ÷ÖУ¬ÊÇͨ¹ýHttpSession¶ÔÏñÀ´ÊµÏÖsessionµÄ¹¦Äܵ쬵«ÔÚ ·½±ãµÄͬʱ£¬ËüÒ²¸øÏµÍ³´øÀ´Á˲»Ð¡µÄ¸ºµ£¡£ÒòΪÿµ±Äã»ñµÃ»ò¸üÐÂsessionʱ£¬ÏµÍ³ÕßÒª¶ÔËü½øÐзÑʱµÄÐòÁл¯²Ù×÷¡£Äã¿ÉÒÔͨ¹ý¶Ô HttpSessionµÄÒÔϼ¸ÖÖ´¦Àí·½Ê½À´ÌáÉýϵͳµÄÐÔÄÜ¡£

¡¡¡¡Èç¹ûûÓбØÒª£¬¾ÍÓ¦¸Ã¹Ø±ÕJSPÒ³ÃæÖжÔHttpSessionµÄȱʡÉèÖᣠÈç¹ûÄãûÓÐÃ÷È·Ö¸¶¨µÄ»°£¬Ã¿¸öJSPÒ³Ãæ¶¼»áȱʡµØ´´½¨Ò»¸öHttpSession¡£Èç¹ûÄãµÄJSPÖв»ÐèҪʹÓÃsessionµÄ»°£¬ÄÇ¿ÉÒÔͨ¹ýÈçϵÄJSPÒ³ÃæÖ¸Ê¾·ûÀ´½ûÖ¹Ëü£º

£¼%@ page session="false"%£¾

¡¡¡¡²»ÒªÔÚHttpSessionÖдæ·Å´óµÄÊý¾Ý¶ÔÏñ£ºÈç¹ûÄãÔÚHttpSessionÖдæ·Å´óµÄÊý¾Ý¶ÔÏñµÄ»°£¬Ã¿µ±¶ÔËü½øÐжÁдʱ£¬Ó¦Ó÷þÎñÆ÷¶¼½«¶ÔÆä½øÐÐÐòÁл¯£¬´Ó¶øÔö¼ÓÁËϵͳµÄ¶îÍ⸺µ£¡£ÄãÔÚHttpSessionÖдæ·ÅµÄÊý¾Ý¶ÔÏñÔ½´ó£¬ÄÇϵͳµÄÐÔÄܾÍϽµµÃÔ½¿ì¡£

¡¡ ¡¡µ±Äã²»ÐèÒªHttpSessionʱ£¬¾¡¿ìµØÊÍ·ÅËü£ºµ±Äã²»ÔÙÐèÒªsessionʱ£¬Äã¿ÉÒÔͨ¹ýµ÷ÓÃHttpSession.invalidate() ·½·¨À´ÊÍ·ÅËü¡£¾¡Á¿½«sessionµÄ³¬Ê±Ê±¼äÉèµÃ¶ÌÒ»µã£ºÔÚJSPÓ¦Ó÷þÎñÆ÷ÖУ¬ÓÐÒ»¸öȱʡµÄsessionµÄ³¬Ê±Ê±¼ä¡£µ±¿Í»§ÔÚÕâ¸öʱ¼äÖ®ºóûÓнøÐÐ ÈκβÙ×÷µÄ»°£¬ÏµÍ³»á½«Ïà¹ØµÄsession×Ô¶¯´ÓÄÚ´æÖÐÊÍ·Å¡£³¬Ê±Ê±¼äÉèµÃÔ½´ó£¬ÏµÍ³µÄÐÔÄܾͻáÔ½µÍ£¬Òò´Ë×îºÃµÄ·½·¨¾ÍÊǾ¡Á¿Ê¹µÃËüµÄÖµ±£³ÖÔÚÒ»¸ö½ÏµÍ µÄˮƽ¡£

¡¡¡¡·½·¨ 4: ½«Ò³ÃæÊä³ö½øÐÐѹËõ

¡¡¡¡Ñ¹ËõÊǽâ¾öÊý¾ÝÈßÓàµÄÒ»¸öºÃµÄ·½ ·¨£¬ÌرðÊÇÔÚÍøÂç´ø¿í²»¹»·¢´ïµÄ½ñÌì¡£ÓеÄä¯ÀÀÆ÷Ö§³Ögzip(GNU zip)½øÐÐÀ´¶ÔHTMLÎļþ½øÐÐѹËõ£¬ÕâÖÖ·½·¨¿ÉÒÔÏ·¾çÐԵؼõÉÙHTMLÎļþµÄÏÂÔØÊ±¼ä¡£Òò´Ë£¬Èç¹ûÄ㽫servlet»òJSPÒ³ÃæÉú³ÉµÄHTMLÒ³Ãæ ½øÐÐѹËõµÄ»°£¬ÄÇÓû§¾Í»á¾õµÃÒ³Ãæä¯ÀÀËÙ¶È»á·Ç³£¿ì¡£µ«²»ÐÒµÄÊÇ£¬²»ÊÇËùÓеÄä¯ÀÀÆ÷¶¼Ö§³ÖgzipѹËõ£¬µ«Äã¿ÉÒÔͨ¹ýÔÚÄãµÄ³ÌÐòÖмì²é¿Í»§µÄä¯ÀÀÆ÷ÊÇ·ñÖ§ ³ÖËü¡£ÏÂÃæ¾ÍÊǹØÓÚÕâÖÖ·½·¨ÊµÏÖµÄÒ»¸ö´úÂëÆ¬¶Î£º

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
OutputStream out = null;
String encoding = request.getHeader("Accept-Encoding"); ¡¡
if (encoding != null && encoding.indexOf("gzip") != -1){
request.setHeader("Content-Encoding" , "gzip");¡¡¡¡
out = new GZIPOutputStream(request.getOutputStream());
}¡¡
else if (encoding != null && encoding.indexOf("comdivss") != -1){
request.setHeader("Content-Encoding" , "comdivss");¡¡¡¡
out = new ZIPOutputStream(request.getOutputStream());
}else{¡¡¡¡
out = request.getOutputStream();
}¡¡
...¡¡
...
}

¡¡¡¡·½·¨ 5: ʹÓÃÏ̳߳Ø

¡¡ ¡¡Ó¦Ó÷þÎñÆ÷ȱʡµØÎªÃ¿¸ö²»Í¬µÄ¿Í»§¶ËÇëÇó´´½¨Ò»¸öÏ߳̽øÐд¦Àí£¬²¢ÎªËüÃÇ·ÖÅÉservice()·½·¨£¬µ±service()·½·¨µ÷ÓÃÍê³Éºó£¬ÓëÖ®ÏàÓ¦µÄ Ïß³ÌÒ²ËæÖ®³·Ïû¡£ÓÉÓÚ´´½¨ºÍ³·ÏûÏ̻߳áºÄ·ÑÒ»¶¨µÄϵͳ×ÊÔ´£¬ÕâÖÖȱʡģʽ½µµÍÁËϵͳµÄÐÔÄÜ¡£µ«ËùÐÒµÄÊÇÎÒÃÇ¿ÉÒÔͨ¹ý´´½¨Ò»¸öÏ̳߳ØÀ´¸Ä±äÕâÖÖ×´¿ö¡£

¡¡ ¡¡ÁíÍ⣬ÎÒÃÇ»¹ÒªÎªÕâ¸öÏ̳߳ØÉèÖÃÒ»¸ö×îСÏß³ÌÊýºÍÒ»¸ö×î´óÏß³ÌÊý¡£ÔÚÓ¦Ó÷þÎñÆ÷Æô¶¯Ê±£¬Ëü»á´´½¨ÊýÁ¿µÈÓÚ×îСÏß³ÌÊýµÄÒ»¸öÏ̳߳أ¬µ±¿Í»§ÓÐÇëÇóʱ£¬ÏàÓ¦ µØ´Ó³Ø´ÓÈ¡³öÒ»¸öÏß³ÌÀ´½øÐд¦Àí£¬µ±´¦ÀíÍê³Éºó£¬ÔÙ½«Ïß³ÌÖØÐ·ÅÈëµ½³ØÖС£Èç¹û³ØÖеÄÏ̲߳»¹»µØ»°£¬ÏµÍ³»á×Ô¶¯µØÔö¼Ó³ØÖÐÏ̵߳ÄÊýÁ¿£¬µ«×ÜÁ¿²»Äܳ¬¹ý×î´ó Ïß³ÌÊý¡£Í¨¹ýʹÓÃÏ̳߳أ¬µ±¿Í»§¶ËÇëÇó¼±¾çÔö¼Óʱ£¬ÏµÍ³µÄ¸ºÔؾͻá³ÊÏֵį½»¬µÄÉÏÉýÇúÏߣ¬´Ó¶øÌá¸ßµÄϵͳµÄ¿ÉÉìËõÐÔ¡£

¡¡¡¡·½·¨ 6: Ñ¡ÔñÕýÈ·µÄÒ³Ãæ°üº¬»úÖÆ

¡¡¡¡ÔÚJSPÖÐÓÐÁ½ÖÖ·½·¨¿ÉÒÔÓÃÀ´°üº¬ÁíÒ»¸öÒ³Ãæ£º
¡¡¡¡1¡¢Ê¹ÓÃincludeָʾ·û
£¼%@ includee file=¡±test.jsp¡± %£¾
¡¡¡¡2¡¢Ê¹ÓÃjspָʾ·û
£¼jsp:includee page=¡±test.jsp¡± flush=¡±true¡±/£¾
¡¡¡¡ÔÚʵ¼ÊÖз¢ÏÖ£¬Èç¹ûʹÓõÚÒ»ÖÖ·½·¨µÄ»°£¬¿ÉÒÔʹµÃϵͳÐÔÄܸü¸ß¡£

¡¡¡¡·½·¨ 7:ÕýÈ·µØÈ·¶¨javabeanµÄÉúÃüÖÜÆÚ

¡¡¡¡JSPµÄÒ»¸öÇ¿´óµÄµØ·½¾ÍÊǶÔjavabeanµÄÖ§³Ö¡£Í¨¹ýÔÚJSPÒ³ÃæÖÐʹÓÃjsp:useBean±êÇ©£¬¿ÉÒÔ½«javabeanÖ±½Ó²åÈëµ½Ò»¸öJSPÒ³ÃæÖС£ËüµÄʹÓ÷½·¨ÈçÏ£º
£¼jsp:useBean id="name" scope="page|request|session|application"
class="package.className" type="typeName"£¾
£¼/jsp:useBean£¾

¡¡¡¡ÆäÖÐscopeÊôÐÔÖ¸³öÁËÕâ¸öbeanµÄÉúÃüÖÜÆÚ¡£È±Ê¡µÄÉúÃüÖÜÆÚΪpage¡£Èç¹ûÄãûÓÐÕýÈ·µØÑ¡ÔñbeanµÄÉúÃüÖÜÆÚµÄ»°£¬Ëü½«Ó°ÏìϵͳµÄÐÔÄÜ¡£

¡¡ ¡¡¾ÙÀýÀ´Ëµ£¬Èç¹ûÄãÖ»ÏëÔÚÒ»´ÎÇëÇóÖÐʹÓÃij¸öbean£¬µ«ÄãÈ´½«Õâ¸öbeanµÄÉúÃüÖÜÆÚÉèÖóÉÁËsession£¬Äǵ±Õâ´ÎÇëÇó½áÊøºó£¬Õâ¸öbean½«ÈÔÈ» ±£ÁôÔÚÄÚ´æÖУ¬³ý·Çsession³¬Ê±»òÓû§¹Ø±Õä¯ÀÀÆ÷¡£ÕâÑù»áºÄ·ÑÒ»¶¨µÄÄڴ棬²¢ÎÞνµÄÔö¼ÓÁËJVMÀ¬»øÊÕ¼¯Æ÷µÄ¹¤×÷Á¿¡£Òò´ËΪbeanÉèÖÃÕýÈ·µÄÉúÃü ÖÜÆÚ£¬²¢ÔÚbeanµÄʹÃü½áÊøºó¾¡¿ìµØÇåÀíËüÃÇ£¬»áʹÓÃϵͳÐÔÄÜÓÐÒ»¸öÌá¸ß¡£

ÕâÆªÎÄÕ¶ÔÄã¶àÓÐÓã¿

Ïà¹ØÎÄÕÂ

article Íì»ØÊÜËðWORDÎĵµµÄ7ÖÖ·½·¨
ÔÚÄãÊÔͼ´ò¿ªÒ»¸öWordÎĵµÊ±£¬Èç¹ûϵͳûÓÐÏìÓ¦£¬Ä...

(No rating)  6-29-2007    Views: 1138   

Óû§ÆÀÓï

Ìí¼ÓÆÀÓï
µ±Ç°»¹Ã»ÓÐÆÀÓï.


.: .: .: .: .:
[ 怫 ]
±±¾©»¤º½¿Æ¼¼ÓÐÏÞ¹«Ë¾ 2006

Novots Technologies Limited