<?php
/************************************************************
* ÃèÊö£ºHTTP²Ù×÷Àà
* ×÷Õߣºheiyeluren
* ´´½¨£º2009/12/13 04:43
* Ð޸ģº2009/12/16 10:30 ʵÏÖ»ù±¾HTTP¸÷ÖÖ½Ó¿Ú²Ù×÷Ö§³Ö
*
************************************************************/
/**
* HTTP¹¦Äܹ¤³§·½·¨Àà
*
* µ÷ÓÃʾÀý´úÂ룺
try {
$http = Http::factory('http://www.baidu.com', Http::TYPE_SOCK );
echo $http->get();
$http = Http::factory('http://127.0.0.1/test/i.php', Http::TYPE_SOCK );
echo $http->post('', array('user'=>'ÎÒÃÇ', 'nick'=>'ASSADF@#!32812989+-239%ASDF'), '', array('aa'=>'bb', 'cc'=>'dd'));
} catch (Exception $e) {
echo $e->getMessage();
}
*/
class Http
{
/**
* @var ʹÓà CURL
*/
const TYPE_CURL = 1;
/**
* @var ʹÓà Socket
*/
const TYPE_SOCK = 2;
/**
* @var ʹÓà Stream
*/
const TYPE_STREAM = 3;
/**
* ±£Ö¤¶ÔÏó²»±»clone
*/
private function __clone() {}
/**
* ¹¹Ô캯Êý
*/
pr ......
drawPieImg()º¯Êý°üº¬8¸ö²ÎÊý£¬$titleΪ±ý״ͼµÄ±êÌ⣻$dataArrΪÐèÒªÏÔʾµÄÊý¾ÝÊý×飻$labelArrΪ¶ÔÓ¦Êý¾ÝµÄ±êÇ©·ÖÀàÊý×飻$colorArrΪ¶ÔÓ¦Êý¾ÝµÄ»æÍ¼ÑÕÉ«Êý×飬Õâ4¸ö²ÎÊýÊDZØÐëµÄ£¬¶ÔÓÚ²»Í¬µÄϵͳӦÓô«µÝÏàÓ¦µÄ²ÎÊý¼´¿É¡£½ÓÏÂÀ´µÄ4¸ö²ÎÊý£¬¸ºÔðÉèÖÃÒªÉú³ÉµÄ±ý״ͼµÄ´óС£¬Èç¹û²»ÉèÖÃÔòʹÓÃϵͳĬÈÏÖµ¡£³ÌÐò°´ÕÕ´²µ×Êý×éÊý¾ÝµÄ´óС£¬´Ó0¶È¿ªÊ¼»æÖÆ£¬·½Ïò°´ÕÕ˳ʱÕë·½ÏòÒÀ´Î»æÖƶÔÓ¦Êý¾ÝÕ¼¾ÝµÄÉÈÃæ´óС¡£
<?php
//±äÁ¿¶¨Ò壬»ÍÖÔ²»¡Ê±µÄ½Ç¶È´óС
define("ANGLELENGTH",3);
/**
* »æÖÆÍ¼Æ¬
* @param $title 3DͼµÄ±êÌâ
* @param $dataArr ÏÔʾµÄÊý¾ÝÊý×é
* @param $labelArr ¶ÔÓ¦Êý¾ÝµÄ±êÇ©·ÖÀàÊý×é
* @param $colorArr ¶ÔÓ¦»æÍ¼ÑÕÉ«µÄÊý×é
* @param $a »²¼µÄ»ù×¼¿í¶È
* @param $b »²¼µÄ»ù×¼¸ß¶È
* @param $v 3DÖùµÄ¸ß¶È
* @param $font ×ÖÌå´óС
* @return »æÖƳɹ¦µÄͼƬ·ÃÎÊ·¾¶
*/
function drawPieImg($title, $dataArr, $labelArr, $colorArr, $a=250, $b=120, $v=20, $font=10){
$ox = 5+$a;
$oy = 5+$b;
$fw = imagefontwidth($font);
$fh = imagefontheight($font);
$n = count($dataArr);//¼Æ ......
ÏÈÌù¸ö½éÉÜ
http://i.cn.yahoo.com/suzie0228/blog/p_41/
proxoolÊÇÒ»¸ö¿ªÔ´µÄÁ¬½Ó³Ø£¬ÐÔÄÜÓÅÒ죬×îºÃµÄÊÇ£º¼´Ê±¼à¿ØÁ¬½Ó³Ø×´Ì¬
ÏÂÃæ¼òµ¥ËµËµËüµÄʹÓ÷½·¨£º1¡¢Ê×ÏÈÏÂÔØproxool µØÖ·£ºhttp://proxool.sourceforge.net
2¡¢½âѹËõproxool-0.9.0RC3.zip£¬¿½±´libϵÄËùÓÐjar¿âÎļþµ½ÄãµÄ¹¤³ÌϵÄWEB-INF/libÏ£¬Í¬Ê±¼ÇµÃÒ²°ÑMysqlµÄjdbcÇý¶¯µ½web-info/lib
3¡¢ÔÚWEB-INFÏ£¨±ðÅÜ´íµØ·½£©½¨Á¢Îļþ£ºproxool.xml
proxool.xmlÕâ¸öÎļþÊÇÓÃÀ´ÉèÖñðÃûµÄ¡£
ÆäÖÐ<proxool>±êÇ©¾ÍÊDZðÃûµÄÉèÖöΡ£
aliasÊDZðÃû£»
driver-urlÊÇÇý¶¯µÄurl£¬¾ÍÊÇÁ¬½ÓµÄurl£»
driver-classÊÇÇý¶¯µÄÀ࣬¾ÍÊÇÊý¾Ý¿âÇý¶¯£»
driver-propertiesÊÇÇý¶¯µÄÊôÐÔ£¬¿ÉÒÔÉèÖõǽÊý¾Ý¿âµÄÓû§ÃûºÍÃÜÂë¡£maximum-connection-countÊÇ×î´óÁ¬½ÓÊý¡£
´úÂë
ÎļþÄÚÈÝÈçÏ£º
<?xml version="1.0" encoding="UTF-8"?>
<proxool>
<alias>DBPool</alias> <!--ÕâÀïÊÇÁ¬½Ó³ØµÄ±ðÃû-->
<driver-url>jdbc:mysql://localhost:3306/databaseName</driver-url>
<d ......
jsp request session
µÈ¶ÔÏó
Ïê½â
תÕß×¢£º´ËÎÄ×ܽá½ÏΪÏêϸ£¬ÖµµÃ²Î¿¼¡£µ«²¿·ÖÄÚÈݾ¹ýÕûÀí£¬ÒÔÏÂÊÇÕýÎÄ¡£
1.request
¶ÔÏó
ÕâÁ½¸ö¶ÔÏóÊÇASPËùÌṩµÄÄÚÖöÔÏóÖÐ×î³£ÓõÄÁ½¸ö¡£ÔÚä¯ÀÀÆ÷£¨»òÆäËûÓû§´úÀí£©ºÍWeb·þÎñÆ÷Ö®¼ä£¬ÇëÇóÓëÏìÓ¦Öз¢ÉúµÄÐÅÏ¢½»Á÷¿ÉÒÔͨ¹ýASPÖеÄÁ½¸öÄÚÖöÔÏóÀ´½øÐзÃÎʺ͹ÜÀí£¬ÕâÁ½¸ö¶ÔÏó³ÆÎªRequestºÍResponse¶ÔÏó¡£
¿Í»§¶ËµÄÇëÇóÐÅÏ¢±»·â×°ÔÚ
request
¶ÔÏóÖУ¬Í¨¹ýËü²ÅÄÜÁ˽⵽¿Í»§µÄÐèÇó£¬È»ºó×ö³öÏìÓ¦¡£ËüÊÇ
HttpServletRequest
ÀàµÄʵÀý¡£
(1)Attribute
ÉèÖÃ
£¨
get
»ò
set
£©
object getAttribute(String name)
·µ»Ø
name
Ö¸¶¨µÄÊôÐÔÖµ£¬Èç¹ûÖ¸¶¨µÄÊôÐÔÖµ²»´æÔÚ£¬Ôò»á·µ»Ø
null
Öµ£®
Enumeration getAttributeNames()
·µ»Ø
request
¶ÔÏóµÄËùÓÐÊôÐÔµÄÃû×Ö£¬Æä½á¹ûÊÇÒ»¸öÀà¾Ù£¨
Enumeration
£©ÀàµÄʵÀý£®
void setAttribute( String name ,
java.lang.Object objt )
ÉèÖÃÃû×ÖΪ
name
µÄ
request
²ÎÊýµÄÖµ£¬¸ÃÖµÊÇÓÉ
java.lang.Object
ÀàÐ͵Ä
objt
Ö¸¶¨
(2) Parameter
String getParameter( String name )
»ñµÃ¿Í» ......
JSPÖеÄÌø×ª£º
(1). forward()·½·¨
ʹÓõ½javax.servlet.RequestDispatcherÀà
RequestDispatcher rd = getServletContext().getRequestDispatcher("url");
rd.forward(requestVar,requestVar); //´«µÝservletµÄÈë¿Ú²ÎÊý
/*forwardº¯ÊýÒѾ°ÑÔÒ³ÃæµÄrequest,response¶ÔÏó´«ÈëеÄÒ³Ãæ£¬Òò´ËÕâоÉÒ³ÃæÓµÓÐÏàͬµÄrequest,response¶ÔÏó¡£request.getparameter("var")¾Í¿ÉÒԵõ½ÏàÓ¦µÄÖµ.*/
/*forward()ÊÇÖ±½ÓÔÚserver×öµÄ£¬ä¯ÀÀÆ÷²¢²»ÖªµÀ£¬Ò²²»ºÍä¯ÀÀÆ÷´ò½»µÀ£¬ä¯ÀÀÆ÷µÄµØÖ·²»±ä»¯¡£*/
¼´£º
getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);
·þÎñÆ÷¶ËServlet½øÐÐתÏòµÄ4ÖÖ·½·¨£º
1.ServletContextµÄgetRequestDispatcher()
2.ServletContextµÄgetNamedDispatcher()
3.ServletRequestµÄgetRequestDispatcher()
& ......
·´ÉäµÄ»ùʯ——ClassÀà
Java³ÌÐòÖеĸ÷¸öJavaÀàÊôÓÚͬһÀàÊÂÎÃèÊöÕâÀàÊÂÎïµÄJavaÀàÃû¾ÍÊÇClass¡£±ÈÈ磺ÖÚ¶àµÄÈË¿ÉÒÔÓÃÒ»¸öPersonÀàÀ´±íʾ£¬¶øÕâ¸öÀà¾Í¿ÉÒÔÃèÊöÈ˵ÄÐÅÏ¢(ÐÕÃû¡¢ÄêÁä¡¢ÐÔ±ðµÈµÈ)£¬¶øÖÚ¶àµÄJavaÀà¾Í¿ÉÒÔÓÃClassÀ´±íʾ¡£
Question£ºPersonÀà´ú±íÈË£¬ËüµÄʵÀý¶ÔÏó¿ÉÒÔÊÇÕÅÈý¡¢ÀîËÄ£¬ClassÀà´ú±íJavaÀ࣬ËüµÄ¸÷¸öʵÀý¶ÔÏóÓзֱð´ú±íÊ²Ã´ÄØ£¿
Answer: ¶ÔÓ¦¸÷¸öÀàÔÚÄÚ´æÖеÄ×Ö½ÚÂë¡£Ò»¸öÀà±»Àà¼ÓÔØÆ÷¼ÓÔØµ½ÄÚ´æÖУ¬Õ¼ÓÃÒ»·Ý´æ´¢¿Õ¼ä£¬Õâ¸ö¿Õ¼äÀïÃæµÄÄÚÈݾÍÊÇÀàµÄ×Ö½ÚÂ룬²»Í¬µÄÀàµÄ×Ö½ÚÂëÊDz»Í¬µÄ£¬ËùÒÔËüÃÇÔÚÄÚ´æÖеÄÄÚÈÝÊDz»Í¬µÄ£¬ÕâÒ»¸ö¸ö¿Õ¼ä¿É·Ö±ðÓÃÒ»¸ö¸öµÄ¶ÔÏóÀ´±íʾ£¬ÕâЩ¶ÔÏóÏÔÈ»¾ßÓÐÏàͬµÄÀàÐÍ£¬¼´ClassÀàÐÍ¡£
ÈçºÎµÃµ½¸÷¸ö×Ö½ÚÂë¶ÔÓ¦µÄʵÀý¶ÔÏó,ÓÐÈýÖÖ·½·¨£º
1¡¢ÀàÃû.class,ÀýÈç:System.class
2¡¢¶ÔÏó.getClass(),ÀýÈç:new Data().getClass()
3¡¢Class.forName("ÀàÃû"),ÀýÈç:Class.forName("java.util.Date")
ClassÀàµÄÊôÐԺͷ½·¨Çë²Î¼ûjdk
·´Éä
·´Éä¾ÍÊǰÑJavaÀàÖеĸ÷ÖֳɷÖÓ³Éä³ÉÏàÓ¦µÄjavaÀà¡£ÀýÈ磺һ¸öJavaÀàÖÐÓÃÒ»¸öClassÀàµÄ¶ÔÏóÀ´±í ......