ÎļþÉÏ´«·½·¨£¨Ò»´ÎÉÏ´«Ò»¸öÎļþ£¬¶à¸öÎļþµÄ»°£¬Çëдѻ·µ÷Óã©
Upload.uploadFile(theFile, filePath)
˵Ã÷£º
theFile£ºÀàÐÍÊÇFormFile
filePath£ºactionÖз¾¶»ñÈ¡·½·¨ this.getServlet().getServletContext().getRealPath("/")
µ÷Óô˷½·¨·µ»ØÎļþÉÏ´«ºóµÄ·¾¶Ãû
ÉÏ´«¶à¸öÎļþʱ£¬ÇëÉèÖÃÿ¸öÎļþÖ®¼ä1ÃëµÄÑÓ³Ù£¬·ñÔòÎļþ»á±»¸²¸Ç
package common.com;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.struts.upload.FormFile;
/**
* @author lsc
* ÎļþÉÏ´«
*/
public class Upload {
/**
* ÎļþÉÏ´«
* @param theFile£¨FormFile£©
* @param filePath(actionÖз¾¶»ñÈ¡·½·¨£ºthis.getServlet().getServletContext().getRealPath("/") )
* @return
*/
public static String uploadFile(FormFile theFile , String filePath) {
String ......
1. SSOÐèÇó
µ¥µãµÇ¼£¨Single Sign On, SSO£©ÊÇÆóÒµÓ¦Óü¯³ÉÖÐ×î³£¼ûµÄÐèÇó¡£Ò칹ϵͳ¼äÍùÍù¶¼Óи÷×ÔµÄÓû§¹ÜÀíºÍÉí·ÝÑéÖ¤»úÖÆ£¬Îª
±ÜÃâÓû§ÔÚ½øÐÐϵͳÇл»Ê±Æµ·±ÊäÈëÓû§ÃûºÍÃÜÂ룬Òò´Ë±ØÐëҪʵÏÖµ¥µãµÇ¼¡£
2. SSOÔÀí
˵µ½SSOµÄÔÀí£¬ÏȵÃ˵һ°ãWebÓ¦ÓõÄÉí·ÝÑéÖ¤ÔÀí¡£WebÉí·ÝÑéÖ¤Ö®ËùÒÔÄܳÉΪÎÊÌâÖ÷ÒªÔÚÓÚHTTPÐÒéµÄÎÞ״̬ÐÔ£¬Õâµ¼
ÖÂÁËÿ´ÎHTTPµÄÇëÇóºÍÏìÓ¦µÄÎÞ¹ØÐÔ¡£¶øÓ¦ÓõÄ״̬±£³ÖÊǴ󲿷ÖÓ¦ÓÃϵͳµÄÒ»°ãÐÔÐèÇó£¬Òò´Ë±ØÐë½èÖúÆäËû»úÖÆ£¬Õâ¾ÍÊÇCookie¡£
2.1. CookieµÄÔÀí
Ò»¸öCookieÓÉname¡¢value¡¢domain¡¢path¡¢expires×é³É¡£¿ÉÒÔ¸øHTTPÏìÓ¦Ìí¼ÓCookie£¬È»ºóCookie¾Í×÷ΪHTTPÏìÓ¦µÄ
Headers·µ»Ø¸øä¯ÀÀÆ÷£¬ÀýÈçDominoµÄµÇ¼³É¹¦ºóµÄCookieÏìӦͷΪ£º
Set-Cookie: DomAuthSessId=1AD479C4D11CD10278A4C523320A6918; path=/
ûÓÐÉèÖÃexpires¾Í±íʾ½öÔÚµ±Ç°ä¯ÀÀÆ÷½ø³ÌÉúÃüÆÚÄÚÓÐЧ£¬²»±£´æµ½¿Í»§»úÉÏ£»Èôexpiresʱ¼ä´óÓÚµ±Ç°Ê±¼ä£¬Ôòä¯ÀÀÆ÷ÔÚÊÕµ½
Õâ¸ö CookieÒÔºó½«ÆäдÈëµ½¿Í»§»úÎļþÖУ¬Ò»°ãÊDZ£´æÔÚC:\Documents and Settings\Administrator\Cookies\Ï¡£
ûÓÐÉèÖÃdomain¾Í±íʾֻÔÚµ±Ç°ÓòÄÚÓÐЧ¡£
µ±¿Í»§»úÔÙ´ÎÇëÇó¸ÃÓòÄ򵀮äËû×ÊԴʱ£¬ä¯ÀÀÆ÷»á×Ô¶¯½ ......
Ò»°ãÇé¿ö»ñµÃ±¾µØËùÓеÄipµØÖ·£º
try {
InetAddress address = InetAddress.getLocalHost();
System.out.println(address.getHostAddress());
String name = address.getHostName();
System.out.println(name);
InetAddress[] addresses = InetAddress.getAllByName(name);
for(int i=0;i <addresses.length;i++)
System.out.println(addresses[i].getHostAddress());
}
catch(UnknownHostException uhe) {
System.err.println( "Unable to find IP ");
}
}
try {
InetAddress address = InetAddress.getLocalHost();
System.out.println(address.getHostAddress());
String name = address.getHostName();
System.out.println(name);
InetAddress[] addresses = InetAddress.getAllByName(name);
for(int i=0;i <addresses.length;i++)
System.out.println(addresses[i].getHostAddress());
}
catch(UnknownHostExcep ......
×ªÔØµØÖ·£ºhttp://www.javaeye.com/topic/40489
´ÓJDK 1.4¿ªÊ¼£¬JavaµÄ±ê×¼¿âÖоͰüº¬ÁËNIO£¬¼´ËùνµÄ“New IO”¡£ÆäÖÐ×îÖØÒªµÄ¹¦ÄܾÍÊÇÌṩÁË“·Ç×èÈû”µÄIO£¬µ±È»°üÀ¨ÁËSocket¡£NonBlockingµÄIO¾ÍÊǶÔselect(Unixƽ̨ÏÂ)ÒÔ¼° WaitForMultipleObjects(Windowsƽ̨)µÄ·â×°£¬ÌṩÁ˸ßÐÔÄÜ¡¢Ò×ÉìËõµÄ·þÎñ¼Ü¹¹¡£
˵À´²ÑÀ¢£¬Ö±µ½JDK1.4²ÅÓÐÕâÖÖ¹¦ÄÜ£¬µ«³Ùµ½Õß²»Ò»¶¨Ã»ÓÐó¦Ð·³Ô£¬NIO¾ÍÌṩÁËÓÅÐãµÄÃæÏò¶ÔÏóµÄ½â¾ö·½°¸£¬¿ÉÒԺܷ½±ãµØ±àд¸ßÐÔÄܵķþÎñÆ÷¡£
»°Ëµ»ØÀ´£¬´«Í³µÄServer/ClientʵÏÖÊÇ»ùÓÚThread per request£¬¼´·þÎñÆ÷Ϊÿ¸ö¿Í»§¶ËÇëÇó½¨Á¢Ò»¸öÏ̴߳¦Àí£¬µ¥¶À¸ºÔð´¦ÀíÒ»¸ö¿Í»§µÄÇëÇó¡£±ÈÈçÏñTomcat£¨Ð°汾Ҳ»áÌṩNIO·½°¸£©¡¢ResinµÈWeb·þÎñÆ÷¾ÍÊÇÕâÑùʵÏֵġ£µ±È»ÎªÁ˼õÉÙ˲¼ä·åÖµÎÊÌ⣬·þÎñÆ÷Ò»°ã¶¼Ê¹ÓÃÏ̳߳أ¬¹æ¶¨ÁËͬʱ²¢·¢µÄ×î´óÊýÁ¿£¬±ÜÃâÁËÏ̵߳ÄÎÞÏÞÔö³¤¡£
µ«ÕâÑùÓÐÒ»¸öÎÊÌ⣺Èç¹ûÏ̳߳صĴóСΪ100£¬µ±ÓÐ100¸öÓû§Í¬Ê±Í¨¹ýHTTPÏÖÔÚÒ»¸ö´óÎļþʱ£¬·þÎñÆ÷µÄÏ̳߳ػáÓÃÍ꣬ÒòΪËùÓеÄÏ̶߳¼ÔÚ´«Êä´óÎļþÁË£¬¼´Ê¹µÚ101¸öÇëÇóÕß½ö½öÇëÇóÒ»¸öÖ»ÓÐ10×Ö½ÚµÄÒ³Ãæ£¬·þÎñÆ÷Ò²ÎÞ·¨ÏìÓ¦ÁË£¬Ö»Óеȵ½Ï̳߳ØÖÐÓпÕÏеÄÏ̳߳öÏÖ¡£
ÁíÍ⣬Ï̵߳ĿªÏúÒ²Ê ......
ajax¼¼ÊõÊÇÊ¹Ò³ÃæÄֲܾ¿Ë¢ÐµÄÒ»ÖÖ¼¼Êõ,È«³ÆÓ¦¸ÃÊÇasynchronous JavaScript and xml´Ó¼¸¸öµ¥´Ê¾ÍÖªµÀËüµÄÇëÇóÏìÓ¦µÄ´¦ÀíÊÇÒì²½µÄ,¶øÇÒʹÓõÄÊÇJavaScriptºÍxml¼¼Êõ.
ÎÒÃÇÔÚjavaÖÐʹÓÃajax¼¼Êõ×î¼òµ¥µÄÊÇʹÓÃËüµÄÒ»¸ö¿ò¼ÜdwrÖ»Òªµ¼ÈëÕâ¸ö°ü,×öÏàÓ¦µÄÅäÖÃ,¿ÉÊÇÎÒҪ˵µÄÊDZȽÏÂé·³µÄ¾ÍÊÇʹÓÃXmlHttpRequest×é¼þ.¾ßÌåµÄ´úÂëÈçÏÂ:1¡£³õʼ»¯·½·¨ÓÃÀ´Íê³ÉºËÐĶÔÏóµÄ³õʼ»¯.µ±È»ÕâЩ¶¼ÊÇÔÚJavaScriptÖÐÈ¡±àд.
var xmlRequest;
function createXMLRequest()
{
//Ê×ÏÈÅжÏä¯ÀÀÆ÷
if(windows.xmlHttpRequest)//»ðºüä¯ÀÀÆ÷
{
xmlRequest=new xmlHttpRequest;
}
if(IE.ActiveXObject)
{
xmlRequest=new ActiveXObject("microsoft.xmlHttp");
}
}
//ºÍ·þÎñÆ÷½¨Á¢Á¬½Ó
function search()
{
init();
var words = document.getElementById("words").value;
ajaxCoreObject.open("POST","DictServlet",true);
ajaxCoreObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajaxCoreObject.onreadystatechange = callBack;
aj ......
ajax¼¼ÊõÊÇÊ¹Ò³ÃæÄֲܾ¿Ë¢ÐµÄÒ»ÖÖ¼¼Êõ,È«³ÆÓ¦¸ÃÊÇasynchronous JavaScript and xml´Ó¼¸¸öµ¥´Ê¾ÍÖªµÀËüµÄÇëÇóÏìÓ¦µÄ´¦ÀíÊÇÒì²½µÄ,¶øÇÒʹÓõÄÊÇJavaScriptºÍxml¼¼Êõ.
ÎÒÃÇÔÚjavaÖÐʹÓÃajax¼¼Êõ×î¼òµ¥µÄÊÇʹÓÃËüµÄÒ»¸ö¿ò¼ÜdwrÖ»Òªµ¼ÈëÕâ¸ö°ü,×öÏàÓ¦µÄÅäÖÃ,¿ÉÊÇÎÒҪ˵µÄÊDZȽÏÂé·³µÄ¾ÍÊÇʹÓÃXmlHttpRequest×é¼þ.¾ßÌåµÄ´úÂëÈçÏÂ:1¡£³õʼ»¯·½·¨ÓÃÀ´Íê³ÉºËÐĶÔÏóµÄ³õʼ»¯.µ±È»ÕâЩ¶¼ÊÇÔÚJavaScriptÖÐÈ¡±àд.
var xmlRequest;
function createXMLRequest()
{
//Ê×ÏÈÅжÏä¯ÀÀÆ÷
if(windows.xmlHttpRequest)//»ðºüä¯ÀÀÆ÷
{
xmlRequest=new xmlHttpRequest;
}
if(IE.ActiveXObject)
{
xmlRequest=new ActiveXObject("microsoft.xmlHttp");
}
}
//ºÍ·þÎñÆ÷½¨Á¢Á¬½Ó
function search()
{
init();
var words = document.getElementById("words").value;
ajaxCoreObject.open("POST","DictServlet",true);
ajaxCoreObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajaxCoreObject.onreadystatechange = callBack;
aj ......
JavaÈÝÆ÷Àà¿âÖ÷Òª°üº¬Á½ÖÖÀàÐÍCollection(List,Set,Queue)ºÍMap£¬ËüÃǵÄÇø±ðÔÚÓÚÿ¸ö²Û±£´æµÄÔªËØ¸öÊý£¬CollectionÖ»±£´æÒ»¸ö£¬¶øMap±£´æ¼üºÍÖµ¡£
1.µ±Ê¹ÓÃArrays.asList()ʱ£¬Ëü»áÔÚʹÓÃÒ»¸öfinalµÄÊý×é×÷Ϊµ×²ãʵÏÖ£¬Òò´ËÈκÎÉè¼Æµ½¸ü¸ÄÆä³¤¶È´óСµÄ²Ù×÷¶¼½«Å×UnsuportedExceptioÒì³£¡£
2.finalµÄÊý×飬²»Äܸıä´óС£¬µ«ÊÇÄܸıä¾ßÌåλÖõÄÖµ£¬final×ֶεijõʼ»¯¿ÉÒÔÔÚÉùÃ÷ʱºò£¬»òÕß¹¹Ô캯ÊýÖС£
3.ArrayList³¤ÓÚËæ»ú·ÃÎÊ£¬¶øLinkedListÔò³¤ÓÚ²åÈë¡£
4.ÔڱȽÏindexOf,removeʱºò£¬ÐèҪעÒâ²ÎÊý¶ÔÏóµÄequals()·½·¨£¬»á¸ù¾Ý´Ë·½·¨À´±È½Ï¡£
5.Èç¹ûÖ»ÊDZéÀú£¬foreachÓï·¨¸ü¼Ó¼ò½à£¬µ«ÊÇÈç¹ûÉæ¼°ÐÞ¸ÄÔòʹÓõü´úÆ÷¸ü¼ÓÓÅÑÅ¡£
6.ListIterator±ÈIteratorµÄÓÅÊÆÔÚÓÚ¿ÉÒÔË«ÏòÒÆ¶¯£¬¶øÇÒ¿ÉÒÔʹÓÃset·½·¨ÐÞ¸ÄËüËù·ÃÎʵ½µÄÔªËØ¡£
7.Stack£¨FILO£©ÖеÄpeek()·µ»ØÕ»¶¥ÔªËØ£¬µ«²»µ¯³ö£¬push()ѹջ£¬pop()µ¯³ö¡£
JDKÖеÄÕ»ÊÇʹÓÃvectorʵÏֵģ¬Ñ¹Õ»Ï൱ÓÚvectorµÄaddElement£¬ËüÃǶ¼ÊÇͬ²½µÄ
8.setÖеÄÔªËØÊÇÎÞÐòµÄ£¬Èç¹ûÏëÒªÓÐÐò£¬ÔòʹÓÃTreeSet¡£
9.LinkedList (FIFO)ʵÏÖÁËQueue½Ó¿Ú£¬Òò´Ë¿ÉÒÔʹÓÃËü±íʾqueue¡£
ÆäÖÐoffer£¨£©±íʾÔÚβ²¿Ôö¼ÓÒ»¸öÔª ......