ÔÚServlet/JSPѧϰ±Ê¼Ç(1)-tomcatºÍeclipseµÄ°²×°ÖУ¬ÎÒ½éÉÜÁËeclipseºÍtomcatPluginµÄ°²×°ºÍÅäÖ÷½·¨¡£µ«½ñÌì·¢ÏÖ£¬Ê¹ÓÃtomcatPlugin´´½¨ÏîĿʱ£¬²»»á×Ô¶¯Éú³Éweb.xml£¬ÐèÒªÊÖ¹¤±à¼£¬Õâ¶àÉÙÓÐЩ²»·½±ã¡££¨¹ØÓÚweb.xmlµÄ¼òµ¥½éÉܲο¼ÕâÀï¡££©
ʵ¼ÊÉÏ£¬¿ª·¢ºÍµ÷ÊÔServlet/JSP³ÌÐòʱ£¬Ò»¸ö½Ð×öLombozµÄ²å¼þ¸üΪǿ´ó¡¢¸üºÃÓᣠLombozÆäʵÊÇÒ»¸ö¿ª·¢J2EE³ÌÐòµÄÇ¿´ó²å¼þ£¬Servlet/JSPÖ»ÊÇС²ËÒ»µú¶øÒÑ¡£
ÏÂÃæ¾ÍÀ´½éÉÜÒ»ÏÂLombozµÄ°²×°·½·¨¡£¹ØÓÚ eclipse ºÍ Tomcat µÄ°²×°Çë²Î¿¼ ǰһƪÎÄÕ¡£
°²×°
Lomboz¿ÉÒÔ´Ó¹Ù·½Ö÷Ò³ÉÏÏÂÔØ¡£Ñ¡Ôñ¶ÔÓ¦ÓÚÄãµÄ eclipse °æ±¾µÄlomboz£¬ÎÒÓõÄÊÇeclipse 3.2.2£¬ËùÒÔ°²×°ÁË Lomboz for Eclipse 3.2¡£
µã»÷ÏÂÔØÁ´½Ó½øÈëºó»á·¢ÏÖÓжà¸öÎļþ£¬Ó¦¸ÃÏÂÄÄÒ»¸öÄØ£¿×îÔʼµÄÐÎÈç org.objectweb.lomboz-R-3.2.2-200706042126.zip µÄ£¬ÊǽöÓÐlombozµÄ¶ÀÁ¢°²×°°ü£»´øÓÐall-in-oneµÄÊÇÁ¬eclipse¶¼°üº¬ÔÚÄÚµÄһվʽÎļþ£»´øÓÐprereqs×ÖÑùµÄÊÇlombozºÍËüÒÀÀµµÄ°ü¡£LombozÔËÐÐʱÐèÒªÁíÍâһЩ²å¼þµÄÖ§³Ö£¬Òò´Ë½ö°²×°Ôʼ°æ±¾µÄlombozÊDz»ÄÜÔËÐеġ£ÍƼöÐÂÊÖÏÂÔØprereqs°æ±¾£¬Ö»Òª°²×°¾ÍÄÜÓÃÁË¡£ÔÙÀÁһЩµÄ¿ÉÒÔÖ±½ÓÓÃall-in-one¡£
°²×°ºÜ¼òµ¥£¬¿ÉÒÔ½«ÆäÖ±½Ó½âÑ ......
½éÉÜÍ깤¾ßºÍ»ù±¾¸ÅÄÏÖÔÚÖÕÓÚ¿ªÊ¼½éÉÜServletµÄ±àд·½·¨ÁË¡£ÎªÁ˱ãÓÚÀí½â£¬ÎÒÃǽ«²ÉÓÃeclipse+Lomboz×÷Ϊ¿ª·¢»·¾³£¬Ò»ÇеIJÙ×÷¶¼¿ÉÒÔÔÚeclipseÖÐÍê³É¡£Èç¹ûÄ㻹ûÓа²×°ºÃLomboz£¬Çë²Î¿¼Ç°¼¸ÆªÎÄÕÂÅäÖúû·¾³¡£
tomcatºÍeclipseµÄ°²×°
»ù´¡ÖªÊ¶
Lomboz½éÉÜ+°²×°·½·¨
ÎÒÃǽ«½¨Á¢Ò»¸öÃûΪ com.idv2.learnjsp µÄ°ü£¬ÓÃÓÚÈÝÄÉËùÓеÄʾÀý³ÌÐò¡£ÏÂÃæÎÒÃǾͿ´¿´×î»ù±¾µÄServletµÄ´´½¨·½·¨¡£
´´½¨ÏîÄ¿
Æô¶¯eclipse£¬È»ºóÑ¡Ôñ²Ëµ¥File->New->Project...£¬ÔÚн¨ÏîÄ¿Ïòµ¼ÖÐÑ¡Ôñ Web->Dynamic Web Project¡£¸ÃÏîÄ¿¼´ÎªÊ¹ÓÃServlet¡¢JSPµÈ¼¼Êõ¿ª·¢¶¯Ì¬ÍøÕ¾µÄÏîÄ¿¡££¨Èç¹ûÄãÕÒ²»µ½ÕâÒ»Ï˵Ã÷LombozûÓÐÅäÖúã¬Çë²ÎÔÄÎÄÕ¿ªÍ·µÄÁ´½Ó½øÐÐÅäÖᣣ©
ÏÂÒ»²½£¬ÊäÈëÏîÄ¿Ãû LearnJSP¡£ÏÂÃæµÄTarget RuntimeÖ¸¶¨ÔËÐÐÕâ¸öÏîÄ¿µÄ·þÎñÆ÷£¬Èç¹ûÄãÒѾÔÚÅäÖÃLomboz µÄÒ»½ÚÖÐÅäÖúÃÁËTomcat·þÎñÆ÷£¬ÄÇôÔÚÕâÀïÄã¿ÉÒÔ¿´µ½ÏàÓ¦µÄ·þÎñÆ÷ÅäÖã¬Ñ¡ÔñËü¼´¿É¡£Èç¹ûÑ¡Ôñ¿òÖÐÖ»ÓÐ<none>£¬ËµÃ÷Ä㻹ûÓÐÅäÖ÷þÎñÆ÷£¬¿ÉÒÔµ¥»÷ÓÒ²àµÄNew...°´Å¥Ð½¨¡£
ConfigurationsÏîÑ¡Ôñ<none>¼´¿É¡£
ÏÂÒ»²½Ñ¡ÔñÏîÄ¿ËùÐèµÄÌØÐÔ£¬Ä¬ÈϵÄDynamic Web ModuleºÍJava¾Í×ã¹»ÁË¡£
ÏÂÒ»²½ÊÇÊäÈëÏà¹ØµÄ ......
ÖÚËùÖÜÖª£¬ÔÚJava¶àÏ̱߳à³ÌÖУ¬Ò»¸ö·Ç³£ÖØÒªµÄ·½Ãæ¾ÍÊÇÏ̵߳Äͬ²½ÎÊÌâ¡£
¹ØÓÚÏ̵߳Äͬ²½£¬Ò»°ãÓÐÒÔϽâ¾ö·½·¨£º
1.
ÔÚÐèҪͬ²½µÄ·½·¨µÄ·½·¨Ç©ÃûÖмÓÈësynchronized¹Ø¼ü×Ö¡£
2.
ʹÓÃsynchronized¿é¶ÔÐèÒª½øÐÐͬ²½µÄ´úÂë¶Î½øÐÐͬ²½¡£
3. ʹÓÃJDK
5ÖÐÌṩµÄjava.util.concurrent.lock°üÖеÄLock¶ÔÏó¡£
ÁíÍ⣬ΪÁ˽â¾ö¶à¸öÏ̶߳Ôͬһ±äÁ¿½øÐзÃÎÊʱ¿ÉÄÜ·¢ÉúµÄ°²È«ÐÔÎÊÌ⣬ÎÒÃDz»½ö¿ÉÒÔ²ÉÓÃͬ²½»úÖÆ£¬¸ü¿ÉÒÔͨ¹ýJDK
1.2ÖмÓÈëµÄThreadLocalÀ´±£Ö¤¸üºÃµÄ²¢·¢ÐÔ¡£
±¾ÆªÖУ¬½«ÏêϸµÄÌÖÂÛJava¶àÏß³Ìͬ²½»úÖÆ£¬²¢¶ÔThreadLocal×ö³ö̽ÌÖ¡£
´óÖµÄĿ¼½á¹¹ÈçÏ£º
Ò»¡¢Ï̵߳ÄÏÈÀ´ºóµ½——ÎÊÌâµÄÌá³ö£ºÎªÊ²Ã´ÒªÓжàÏß³Ìͬ²½£¿Java¶àÏß³Ìͬ²½µÄ»úÖÆÊÇʲô£¿
¶þ¡¢¸øÎÒÒ»°ÑËø£¬ÎÒÄÜ´´ÔìÒ»¸ö¹æ¾Ø——´«Í³µÄ¶àÏß³Ìͬ²½±à³Ì·½·¨ÓÐÄÄЩ£¿ËûÃÇÓкÎÒìͬ£¿
Èý¡¢LockÀ´ÁË£¬´ó¼Ò¶¼Èÿª——
Java²¢·¢¿ò¼ÜÖеÄLockÏê½â¡£
ËÄ¡¢ÄãÓÐÎÒÓÐÈ«¶¼ÓЗ— ThreadLocalÈçºÎ½â¾ö²¢·¢°²È«ÐÔ£¿
Îå¡¢×ܽᗗJavaḬ̈߳²È«µÄ¼¸ÖÖ·½·¨¶Ô±È¡£
Ò»¡¢Ï̵߳ÄÏÈÀ´ºóµ½
ÎÒÃÇÀ´¾ÙÒ»¸öDirtyµÄ ......
package test;
/**
*
* @author openpk
*/
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
public class Main {
public static void main(String[] args) {
// Ï̳߳Ø
ExecutorService exec = Executors.newCachedThreadPool();
// Ö»ÄÜ5¸öÏß³Ìͬʱ·ÃÎÊ
final Semaphore semp = new Semaphore(1);
// Ä£Äâ20¸ö¿Í»§¶Ë·ÃÎÊ
for (int index = 0; index < 10; index++) {
final int NO = index;
Runnable run = new Runnable() {
public void run() {
try {
// »ñÈ¡Ðí¿É
semp.acquire();
System.out.println("Accessing: " + NO);
for(int i=0;i<400;i++)
System.out.print("Accessing: " + NO+" "+i);
System.out.println("");
Thread.slee ......
=====suppose such a method:
public static void openFile(String fileName, PrintWriter stream) throws FileNotFoundException
{
stream = new PrintWriter(fileName);
}
=====then we want to use it this way:
PrintWriter toFile = null;
try
{
openFile("data.txt", toFile);
}
*****After this code is executed, the value of toFile is still null. The file that was opened in the method openFile went away when the method ended. The problem has to do with how Java handles arguments of a class type.
"These arguments are passed to the method as memory addresses that cannot be changed. The state of the object at the memory address normally can be changed, but the memory address itself cannot be changed"! ......
JAVAÏà¹Ø»ù´¡ÖªÊ¶
1¡¢ÃæÏò¶ÔÏóµÄÌØÕ÷ÓÐÄÄЩ·½Ãæ
1.³éÏó£º
³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º
¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ÇÒÔÊÐíºÍ¹ÄÀøÀàµÄÖØÓã¬ËüÌṩÁËÒ»ÖÖÃ÷È·±íÊö¹²ÐԵķ½·¨¡£¶ÔÏóµÄÒ»¸öÐÂÀà¿ÉÒÔ´ÓÏÖÓеÄÀàÖÐÅÉÉú£¬Õâ¸ö¹ý³Ì³ÆÎªÀà¼Ì³Ð¡£ÐÂÀà¼Ì³ÐÁËÔʼÀàµÄÌØÐÔ£¬ÐÂÀà³ÆÎªÔʼÀàµÄÅÉÉúÀࣨ×ÓÀࣩ£¬¶øÔʼÀà³ÆÎªÐÂÀàµÄ»ùÀࣨ¸¸Àࣩ¡£ÅÉÉúÀà¿ÉÒÔ´ÓËüµÄ»ùÀàÄÇÀï¼Ì³Ð·½·¨ºÍʵÀý±äÁ¿£¬²¢ÇÒÀà¿ÉÒÔÐ޸ĻòÔö¼ÓÐµķ½·¨Ê¹Ö®¸üÊʺÏÌØÊâµÄÐèÒª¡£
3.·â×°£º
·â×°Êǰѹý³ÌºÍÊý¾Ý°üΧÆðÀ´£¬¶ÔÊý¾ÝµÄ·ÃÎÊÖ»ÄÜͨ¹ýÒѶ¨ÒåµÄ½çÃæ¡£ÃæÏò¶ÔÏó¼ÆËãʼÓÚÕâ¸ö»ù±¾¸ÅÄ¼´ÏÖʵÊÀ½ç¿ÉÒÔ±»Ãè»æ³ÉһϵÁÐÍêÈ«×ÔÖΡ¢·â×°µÄ¶ÔÏó£¬ÕâЩ¶ÔÏóͨ¹ýÒ»¸öÊܱ£»¤µÄ½Ó¿Ú·ÃÎÊÆäËû¶ÔÏó¡£
4. ¶à̬ÐÔ£º
¶à̬ÐÔÊÇÖ¸ÔÊÐí²»Í¬ÀàµÄ¶ÔÏó¶ÔͬһÏûÏ¢×÷³öÏìÓ¦¡£¶à̬ÐÔ°üÀ¨²ÎÊý»¯¶à̬ÐԺͰüº¬¶à̬ÐÔ¡£¶à̬ÐÔÓïÑÔ¾ßÓÐÁé»î¡¢³éÏó¡¢ÐÐΪ¹²Ïí¡¢´úÂë¹²ÏíµÄÓÅÊÆ£¬ºÜºÃµÄ½â¾öÁËÓ¦ÓóÌÐòº¯ÊýͬÃûÎÊÌâ¡£
2¡¢StringÊÇ×î»ù±¾µÄÊý¾ÝÀàÐÍ ......