锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 瀹夎 MySQL 榪愯鍛戒護錛?/p>
sudo apt-get install mysql-server mysql-client 鍦ㄥ畨瑁?Nginx 涔嬪墠錛屽鏋滀綘宸茬粡瀹夎 Apache2 鍏堝垹闄ゅ湪瀹夎 nginx錛?/p>
service apache2 stop 鎴戜滑蹇呴』閫氳繃 PHP-FPM 鎵嶈兘璁㏄HP5姝e父宸ヤ綔錛屽畨瑁呭懡浠わ細 php-fpm鏄竴涓畧鎶よ繘紼嬨?br />
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl 鍙互閫氳繃璁塊棶Oracle瀹樼綉涓嬭澆錛屾垨鑰呯洿鎺ラ氳繃鍛戒護琛屼笅杞姐?/p>
鍦ㄧ郴緇熶腑娣誨姞鐜鍙橀噺錛屼富瑕佹槸PATH銆丆LASSPATH鍜孞AVA_HOME銆?/p>
鍦ㄦ枃浠舵渶鍚庡姞鍏?/p>
淇濆瓨閫鍑猴紝騫墮氳繃鍛戒護浣胯剼鏈敓鏁堬細 鍦ㄦ湁鐨勭郴緇熶腑浼氶瑁匫penJDK錛岀郴緇熼粯璁や嬌鐢ㄧ殑鏄繖涓紝鑰屼笉鏄垰鎵嶈鐨勩傛墍浠ヨ繖涓姝ユ槸閫氱煡緋葷粺浣跨敤Oracle鐨凧DK錛岄潪OpenJDK銆?/p>
鍥犱負鎴戞槸鍦ㄨ櫄鎷熸満涓畨瑁呯殑Ubuntu 14.04錛岄粯璁や笉瀹夎OpenJDK錛屾墍浠ユ病鏈夐渶瑕侀夋嫨鐨凧DK鐗堟湰銆傚鏋滄槸鍦ㄧ墿鐞嗘満涓婂畨瑁呯殑Ubuntu鐗堟湰錛屼細鍑虹幇鍑犱釜鍊欓夐」錛屽彲鐢ㄤ簬鏇挎崲 java (鎻愪緵 /usr/bin/java)銆?/p>
==================================== 閰嶇疆鐗堟湰搴?/strong> # sudo vi passwd #鏍煎紡鏄敤鎴峰悕=瀵嗙爜錛岄噰鐢ㄦ槑鏂囧瘑鐮?span class="Apple-converted-space"> 澶囦喚涓庢仮澶?/strong> # 澶囦喚 Linux涓嬩慨鏀笿VM鍐呭瓨澶у皬 瑕佹坊鍔犲湪tomcat 鐨刡in 涓媍atalina.sh 閲岋紝浣嶇疆cygwin=false鍓?銆傛敞鎰忓紩鍙瘋甯︿笂,綰㈣壊鐨勪負鏂版坊鍔犵殑.
瀹夎 Nginx
update-rc.d -f apache2 remove
sudo apt-get remove apache2瀹夎 PHP5
瀹夎mysql鍜孏D鎵╁睍
瀹夎 JDK8
lxh@ubuntu:~$ wget -c http://download.oracle.com/otn-pub/java/jdk/8u11-b12/jdk-8u25-linux-x64.tar.gz
瑙e帇瀹夎
lxh@ubuntu:~$ mkdir -p /usr/lib/jvm
lxh@ubuntu:~$ sudo mv jdk-8u25-linux-x64.tar.gz /usr/lib/jvm
lxh@ubuntu:~$ cd /usr/lib/jvm
lxh@ubuntu:~$ sudo tar xzvf jdk-8u25-linux-x64.tar.gz
lxh@ubuntu:~$ sudo vim ~/.profile
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATHlxh@ubuntu:~$ $source ~/.profile
閰嶇疆榛樿JDK鐗堟湰
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_25/bin/javac 300
sudo update-alternatives --config java
緙栬瘧瀹夎nginx
1. 涓嬭澆鏈鏂扮増nginx
2.瑙e帇
3. 瀹夎
鍚姩nginx
1)浣跨敤鍦?/etc/init.d/ 鐩綍涓嬪垱寤哄悕涓?nginx 鏂囦歡錛屾敞鎰忔病鏈夊悗緙鍚嶏紝灝嗕互涓嬪唴瀹瑰鍒跺埌璇ユ枃浠朵腑錛堟劅璋㈡彁渚涜剼鏈殑鍏勫紵錛夈?/span>
/usr/local/nginx/sbin/nginx
2 #鐢ㄦ潵灝哊ginx娉ㄥ唽涓虹郴緇熸湇鍔$殑鑴氭湰
3 #Author CplusHua
4 #http://www.219.me
5 #chkconfig: - 85 15
6 set -e
7 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
8 DESC="Nginx Daemon"
9 NAME=nginx
10 DAEMON=/usr/local/nginx/sbin/$NAME
11 SCRIPTNAME=/etc/init.d/$NAME
12 #瀹堟姢榪涚▼涓嶅瓨鍦ㄥ氨閫鍑?br />
13 test -x $DAEMON ||exit 0
14 d_start(){
15 $DAEMON ||echo -n "aready running"
16 }
17 d_stop(){
18 $DAEMON -s quit || echo -n "not running"
19 }
20 d_reload(){
21 $DAEMON -s reload || echo -n "could not reload"
22 }
23 case "$1" in
24 start)
25 echo -n "Starting $DESC: $NAME"
26 d_start
27 echo "."
28 ;;
29 stop)
30 echo -n "Stopping $DESC: $NAME"
31 d_stop
32 echo "."
33 ;;
34 reload)
35 echo -n "Reloading $DESC: configurationg.."
36 d_reload
37 echo "reloaded."
38 ;;
39 restart)
40 echo -n "Restarting $DESC: $NAME"
41 d_stop
42 sleep 3
43 d_start
44 echo "."
45 ;;
46 *)
47 echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
48 exit 3
49 ;;
50 esac
51
52 exit 0
2)娣誨姞鏉冮檺
$ sudo chmod +x nginx
3)鏈嶅姟鏂瑰紡鍚姩 濡傛灉閰嶇疆鏈嶅姟鍓嶅凡鍚姩錛屾墽琛屼互涓嬪懡浠ゅ仠姝ginx銆?
$ sudo service nginx stop
4)鍚姩Nginx
$ sudo service nginx start
pastingnginx鍑虹幇connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied)鐨勯敊璇?
澶勭悊鏂瑰紡鏄細緙栬緫/etc/php5/fpm/pool.d/www.conf鏂囦歡錛?br />
灝嗕互涓嬬殑娉ㄩ噴鍘繪帀:
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
鐒跺悗閲嶅惎php5-fpm
$ sudo service php5-fpm restart
Ubuntu 14.04蹇熸惌寤篠VN鏈嶅姟鍣ㄥ強鏃ュ父浣跨敤
SVN鐩稿叧鍛戒護浜嗚В
svn錛氬懡浠よ瀹㈡埛绔?
svnadmin錛氱敤鏉ュ垱寤恒佽皟鏁存垨淇鐗堟湰搴撶殑宸ュ叿
svnserve錛歴vn鏈嶅姟紼嬪簭
svndumpfilter錛氳繃婊vn鐗堟湰搴撹漿鍌ㄦ暟鎹祦鐨勫伐鍏?
svnsync錛歴vn鏁版嵁鍚屾宸ュ叿錛屽疄鐜板彟澶栧瓨涓浠界浉鍚岀殑
svnlook錛氱敤鏉ユ煡鐪嬪姙鏈涓笉鍚岀殑淇鐗堝拰浜嬪姟
鐩存帴瀹夎
# apt-get install subversion
鍒涘緩鐗堟湰搴?/strong>
# sudo mkdir /app/svn
# sudo svnadmin create /app/svn/prj
# sudo vi svnserve.conf #灝嗕互涓嬪弬鏁板幓鎺夋敞閲?span class="Apple-converted-space" style="font-weight: normal;">
[general]
anon-access = none #鍖垮悕璁塊棶鏉冮檺錛岄粯璁ead錛宯one涓轟笉鍏佽璁塊棶
auth-access = write #璁よ瘉鐢ㄦ埛鏉冮檺
password-db = passwd #鐢ㄦ埛淇℃伅瀛樻斁鏂囦歡錛岄粯璁ゅ湪鐗堟湰搴?conf涓嬮潰錛屼篃鍙互緇濆璺緞鎸囧畾鏂囦歡浣嶇疆
authz-db = authz
[users]
xiaoming = 123
zhangsan = 123
lisi = 123
# sudo vi authz
[groups] #瀹氫箟緇勭殑鐢ㄦ埛
manager = xiaoming
core_dev = zhangsan,lisi
[repos:/] #浠ユ牴鐩綍璧峰鐨剅epos鐗堟湰搴搈anager緇勪負璇誨啓鏉冮檺
@manager = rw
[repos:/media] #core_dev瀵箁epos鐗堟湰搴撲笅media鐩綍涓鴻鍐欐潈闄?span class="Apple-converted-space">
@core_dev = rw
鍚姩svn鏈嶅姟
# sudo svnserve -d -r /app/svn
# 鏌ョ湅鏄惁鍚姩鎴愬姛錛屽彲鐪嬬殑鐩戝惉3690绔彛
# sudo netstat -antp |grep svnserve
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 28967/svnserve
# 濡傛灉鎯沖叧闂湇鍔★紝鍙嬌鐢╬kill svnserve
璁塊棶svn
# 璁塊棶repos鐗堟湰搴撳湴鍧
svn://192.168.1.100/prj
svnadmin dump澶囦喚
# 瀹屾暣澶囦喚
svnadmin dump /app/svn/prj > YYmmdd_fully_backup.svn
# 瀹屾暣鍘嬬緝澶囦喚
svnadmin dump /app/svn/prj | gzip > YYmmdd_fully_backup.gz
# 澶囦喚鎭㈠
svnadmin load /app/svn/prj < YYmmdd_fully_backup.svn
zcat YYmmdd_fully_backup.gz | svnadmin load repos
### 澧為噺澶囦喚 ###
# 鍏堝畬鏁村浠?br />
svnadmin dump /app/svn/prj -r 0:100 > YYmmdd_incremental_backup.svn
# 鍐嶅閲忓浠?br />
svnadmin dump /app/svn/prj -r 101:200 --incremental > YYmmdd_incremental_backup.svn
svnadmin hotcopy澶囦喚
svnadmin hotcopy /app/svn/prj YYmmdd_fully_backup --clean-logs
# 鎭㈠
svnadmin hotcopy YYmmdd_fully_backup /app/svn/prj
Tomcat銆鍐呭瓨浼樺寲
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:PermSize=64M -XX:MaxPermSize=128m"
cygwin=false
]]>fn:contains 鍒ゆ柇瀛楃涓叉槸鍚﹀寘鍚彟澶栦竴涓瓧絎︿覆 <c:if test="${fn:contains(name, searchString)}">
fn:containsIgnoreCase 鍒ゆ柇瀛楃涓叉槸鍚﹀寘鍚彟澶栦竴涓瓧絎︿覆(澶у皬鍐欐棤鍏? <c:if test="${fn:containsIgnoreCase(name, searchString)}">
fn:endsWith 鍒ゆ柇瀛楃涓叉槸鍚︿互鍙﹀瀛楃涓茬粨鏉?<c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 鎶婁竴浜涘瓧絎﹁漿鎴怷ML琛ㄧず錛屼緥濡?<瀛楃搴旇杞負< ${fn:escapeXml(param:info)}
fn:indexOf 瀛愬瓧絎︿覆鍦ㄦ瘝瀛楃涓蹭腑鍑虹幇鐨勪綅緗?${fn:indexOf(name, "-")}
fn:join 灝嗘暟緇勪腑鐨勬暟鎹仈鍚堟垚涓涓柊瀛楃涓詫紝騫朵嬌鐢ㄦ寚瀹氬瓧絎︽牸寮 ${fn:join(array, ";")}
fn:length 鑾峰彇瀛楃涓茬殑闀垮害錛屾垨鑰呮暟緇勭殑澶у皬 ${fn:length(shoppingCart.products)}
fn:replace 鏇挎崲瀛楃涓蹭腑鎸囧畾鐨勫瓧絎?${fn:replace(text, "-", "?")}
fn:split 鎶婂瓧絎︿覆鎸夌収鎸囧畾瀛楃鍒囧垎 ${fn:split(customerNames, ";")}
fn:startsWith 鍒ゆ柇瀛楃涓叉槸鍚︿互鏌愪釜瀛愪覆寮濮?<c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 鑾峰彇瀛愪覆 ${fn:substring(zip, 6, -1)}
fn:substringAfter 鑾峰彇浠庢煇涓瓧絎︽墍鍦ㄤ綅緗紑濮嬬殑瀛愪覆 ${fn:substringAfter(zip, "-")}
fn:substringBefore 鑾峰彇浠庡紑濮嬪埌鏌愪釜瀛楃鎵鍦ㄤ綅緗殑瀛愪覆 ${fn:substringBefore(zip, "-")}
fn:toLowerCase 杞負灝忓啓 ${fn.toLowerCase(product.name)}
fn:toUpperCase 杞負澶у啓瀛楃 ${fn.UpperCase(product.name)}
fn:trim 鍘婚櫎瀛楃涓插墠鍚庣殑絀烘牸 ${fn.trim(name)}
鍑芥暟
鎻忚堪
fn:contains(string, substring)
濡傛灉鍙傛暟string涓寘鍚弬鏁皊ubstring錛岃繑鍥瀟rue
fn:containsIgnoreCase(string, substring)
濡傛灉鍙傛暟string涓寘鍚弬鏁皊ubstring錛堝拷鐣ュぇ灝忓啓錛夛紝榪斿洖true
fn:endsWith(string, suffix)
濡傛灉鍙傛暟 string 浠ュ弬鏁皊uffix緇撳熬錛岃繑鍥瀟rue
fn:escapeXml(string)
灝嗘湁鐗規畩鎰忎箟鐨刋ML (鍜孒TML)杞崲涓哄搴旂殑XML character entity code錛屽茍榪斿洖
fn:indexOf(string, substring)
榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓涓嬈″嚭鐜扮殑浣嶇疆
fn:join(array, separator)
灝嗕竴涓粰瀹氱殑鏁扮粍array鐢ㄧ粰瀹氱殑闂撮殧絎eparator涓插湪涓璧鳳紝緇勬垚涓涓柊鐨勫瓧絎︿覆騫惰繑鍥炪?br style="margin: 0px; padding: 0px; list-style-type: none;" />
fn:length(item)
榪斿洖鍙傛暟item涓寘鍚厓绱犵殑鏁伴噺銆傚弬鏁癐tem綾誨瀷鏄暟緇勩乧ollection鎴栬匰tring銆傚鏋滄槸String綾誨瀷,榪斿洖鍊兼槸String涓殑瀛楃鏁般?br style="margin: 0px; padding: 0px; list-style-type: none;" />
fn:replace(string, before, after)
榪斿洖涓涓猄tring瀵硅薄銆傜敤鍙傛暟after瀛楃涓叉浛鎹㈠弬鏁皊tring涓墍鏈夊嚭鐜板弬鏁癰efore瀛楃涓茬殑鍦版柟錛屽茍榪斿洖鏇挎崲鍚庣殑緇撴灉
fn:split(string, separator)
榪斿洖涓涓暟緇勶紝浠ュ弬鏁皊eparator 涓哄垎鍓茬鍒嗗壊鍙傛暟string錛屽垎鍓插悗鐨勬瘡涓閮ㄥ垎灝辨槸鏁扮粍鐨勪竴涓厓绱?br style="margin: 0px; padding: 0px; list-style-type: none;" />
fn:startsWith(string, prefix)
濡傛灉鍙傛暟string浠ュ弬鏁皃refix寮澶達紝榪斿洖true
fn:substring(string, begin, end)
榪斿洖鍙傛暟string閮ㄥ垎瀛楃涓? 浠庡弬鏁癰egin寮濮嬪埌鍙傛暟end浣嶇疆錛屽寘鎷琫nd浣嶇疆鐨勫瓧絎?br style="margin: 0px; padding: 0px; list-style-type: none;" />
fn:substringAfter(string, substring)
榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓悗闈㈢殑閭d竴閮ㄥ垎瀛楃涓??
fn:substringBefore(string, substring)
榪斿洖鍙傛暟substring鍦ㄥ弬鏁皊tring涓墠闈㈢殑閭d竴閮ㄥ垎瀛楃涓?br style="margin: 0px; padding: 0px; list-style-type: none;" />
fn:toLowerCase(string)
灝嗗弬鏁皊tring鎵鏈夌殑瀛楃鍙樹負灝忓啓錛屽茍灝嗗叾榪斿洖
fn:toUpperCase(string)
灝嗗弬鏁皊tring鎵鏈夌殑瀛楃鍙樹負澶у啓錛屽茍灝嗗叾榪斿洖
fn:trim(string)
鍦╦sp涓?浣跨敤EL琛ㄨ揪寮忔椂錛屼笉鍙互浣跨敤java鎻愪緵鐨勫姛鑳斤紝姣斿indexOf()絳夈?br style="margin: 0px; padding: 0px; list-style-type: none;" />
<c:if test="${Boolean.valueOf(requestScope.addresult)==false}">
鎶ラ敊
The function valueOf must be used with a prefix when a default namespace is not specified
璇硶緇撴瀯
*
*
* “port”: 琚唬鐞嗘湇鍔″櫒鐨勭鍙o紝榛樿鏄?0
濡傦細
鍐嶅錛?/p>
璐熻澆鍧囪 鐨勪緥瀛愶紝渚嬪鏈?涓猻quid緙撳瓨錛岄渶瑕佺敤lighttpd鍋氳礋杞藉潎琛?/p>
褰撲竴涓湇鍔″櫒瀹曟満鍚庯紝瀹冧笂闈㈢殑璇鋒眰灝嗚杞Щ緇欏叾浠栬澶噑erver
濡備綍涓轟唬鐮侀夋嫨寮婧愯鍙瘉錛岃繖鏄竴涓棶棰樸?/p>
涓栫晫涓婄殑寮婧愯鍙瘉錛屽ぇ姒傛湁涓婄櫨縐?/a>銆傚緢灝戞湁浜烘悶寰楁竻妤氬畠浠殑鍖哄埆銆傚嵆浣垮湪鏈嫻佽鐨勫叚縐?---GPL銆?a target="_blank">BSD銆?a target="_blank">MIT銆?a target="_blank">Mozilla銆?a target="_blank">Apache鍜?a target="_blank">LGPL----涔嬩腑鍋氶夋嫨錛屼篃寰堝鏉傘?/p>
涔屽厠鍏扮▼搴忓憳Paul Bagwell錛岀敾浜嗕竴寮犲垎鏋愬浘錛岃鏄庡簲璇ユ庝箞閫夋嫨銆傝繖鏄垜瑙佽繃鐨勬渶綆鍗曠殑璁茶В錛屽彧鐢ㄤ袱鍒嗛挓錛屼綘灝辮兘鎼炴竻妤氳繖鍏璁稿彲璇佷箣闂寸殑鏈澶у尯鍒?/p>
涓嬮潰鏄垜鍒朵綔鐨勪腑鏂囩増錛岃鐐瑰嚮鐪嬪ぇ鍥俱?/p>
濡傛灉浣犳湁涓や釜鍏鋒湁寰堝鐩稿悓灞炴х殑JavaBean錛屼竴涓緢甯歌鐨勬儏鍐靛氨鏄疭truts閲岀殑PO瀵硅薄錛堟寔涔呭璞★級鍜屽搴旂殑ActionForm錛屼緥濡?Teacher鍜孴eacherForm銆傛垜浠竴鑸細鍦ˋction閲屼粠ActionForm鏋勯犱竴涓狿O瀵硅薄錛屼紶緇熺殑鏂瑰紡鏄嬌鐢ㄧ被浼間笅闈㈢殑璇彞瀵瑰睘鎬ч愪釜璧嬪鹼細
濡傛灉Teacher鍜孴eacherForm闂村瓨鍦ㄥ悕縐頒笉鐩稿悓鐨勫睘鎬э紝鍒橞eanUtils涓嶅榪欎簺灞炴ц繘琛屽鐞嗭紝闇瑕佺▼搴忓憳鎵嬪姩澶勭悊銆備緥濡?Teacher鍖呭惈modifyDate錛堣灞炴ц褰曟渶鍚庝慨鏀規棩鏈燂紝涓嶉渶瑕佺敤鎴峰湪鐣岄潰涓緭鍏ワ級灞炴ц孴eacherForm鏃犳灞炴э紝閭d箞鍦ㄤ笂闈唬鐮佺殑 copyProperties()鍚庤繕瑕佸姞涓婁竴鍙ワ細
鎬庝箞鏍鳳紝寰堟柟渚垮惂錛侀櫎BeanUtils澶栬繕鏈変竴涓悕涓篜ropertyUtils鐨勫伐鍏風被錛屽畠涔熸彁渚沜opyProperties()鏂規硶錛屼綔鐢ㄤ笌 BeanUtils鐨勫悓鍚嶆柟娉曞崄鍒嗙浉浼鹼紝涓昏鐨勫尯鍒湪浜庡悗鑰呮彁渚涚被鍨嬭漿鎹㈠姛鑳斤紝鍗沖彂鐜頒袱涓狫avaBean鐨勫悓鍚嶅睘鎬т負涓嶅悓綾誨瀷鏃訛紝鍦ㄦ敮鎸佺殑鏁版嵁綾誨瀷鑼冨洿鍐呰繘琛岃漿鎹紝鑰屽墠鑰呬笉鏀寔榪欎釜鍔熻兘錛屼絾鏄熷害浼氭洿蹇竴浜涖侭eanUtils鏀寔鐨勮漿鎹㈢被鍨嬪涓嬶細
* java.lang.BigDecimal
* java.lang.BigInteger
* boolean and java.lang.Boolean
* byte and java.lang.Byte
* char and java.lang.Character
* java.lang.Class
* double and java.lang.Double
* float and java.lang.Float
* int and java.lang.Integer
* long and java.lang.Long
* short and java.lang.Short
* java.lang.String
* java.sql.Date
* java.sql.Time
* java.sql.Timestamp
榪欓噷瑕佹敞鎰忎竴鐐癸紝java.util.Date鏄笉琚敮鎸佺殑錛岃屽畠鐨勫瓙綾籮ava.sql.Date鏄鏀寔鐨勩傚洜姝ゅ鏋滃璞″寘鍚椂闂寸被鍨嬬殑灞炴э紝涓斿笇鏈涜杞崲鐨勬椂鍊欙紝涓瀹氳浣跨敤java.sql.Date綾誨瀷銆傚惁鍒欏湪杞崲鏃朵細鎻愮ずargument mistype寮傚父銆?
涓夈佷紭緙虹偣錛?
Apache Jakarta Commons欏圭洰闈炲父鏈夌敤銆傛垜鏇懼湪璁稿涓嶅悓鐨勯」鐩笂鎴栫洿鎺ユ垨闂存帴鍦頒嬌鐢ㄥ悇縐嶆祦琛岀殑commons緇勪歡銆傚叾涓殑涓涓己澶х殑緇勪歡灝辨槸BeanUtils銆傛垜灝嗚鏄庡浣曚嬌鐢˙eanUtils灝唋ocal瀹炰綋bean杞崲涓哄搴旂殑value 瀵硅薄錛?
涓婇潰鐨勪唬鐮佷粠aLocal瀵硅薄澶嶅埗灞炴у埌aValue瀵硅薄銆傚畠鐩稿綋綆鍗曪紒瀹冧笉綆ocal錛堟垨瀵瑰簲鐨剉alue錛夊璞℃湁澶氬皯涓睘鎬э紝鍙榪涜澶嶅埗銆傛垜浠亣璁緇ocal瀵硅薄鏈?00涓睘鎬с備笂闈㈢殑浠g爜浣挎垜浠彲浠ユ棤闇閿叆鑷沖皯100琛岀殑鍐楅暱銆佸鏄撳嚭閿欏拰鍙嶅鐨刧et鍜宻et鏂規硶璋冪敤銆傝繖澶浜嗭紒澶己澶т簡錛佸お鏈夌敤浜嗭紒
BeanUtils.copyProperties 涓?PropertyUtils.copyProperties 閮芥槸鎷瘋礉瀵硅薄灞炴х殑鏂規硶錛孊eanUtils 鏀寔綾誨瀷杞崲錛岃?PropertyUtils 涓嶆敮鎸併備絾鏄?BeanUtils 涓嶅厑璁稿璞$殑灞炴у間負 null錛孭ropertyUtils 鍙互鎷瘋礉灞炴у?null 鐨勫璞°?
濡傛灉瀵硅薄灞炴у間負 null錛孊eanUtils.copyProperties 鏂規硶浼氭姤 commons.beanutils.ConversionException: No value specified 閿欒銆?
鐜板湪錛岃繕鏈変竴涓潖娑堟伅錛氫嬌鐢˙eanUtils鐨勬垚鏈儕浜哄湴鏄傝吹錛佹垜鍋氫簡涓涓畝鍗曠殑嫻嬭瘯錛孊eanUtils鎵鑺辮垂鐨勬椂闂磋瓚呰繃鍙栨暟鎹佸皢鍏跺鍒跺埌瀵瑰簲鐨?value瀵硅薄錛堥氳繃鎵嬪姩璋冪敤get鍜宻et鏂規硶錛夛紝浠ュ強閫氳繃涓茶鍖栧皢鍏惰繑鍥炲埌榪滅▼鐨勫鎴鋒満鐨勬椂闂存誨拰銆傛墍浠ヨ灝忓績浣跨敤榪欑濞佸姏錛?
MethodUtils綾諱嬌鐢ㄦ柟娉?
1,鏌ョ湅apache榪涚▼:
ps aux | grep httpd | grep -v grep | wc -l
2,鏌ョ湅80绔彛鐨則cp榪炴帴:
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l
3,閫氳繃鏃ュ織鏌ョ湅褰撳ぉip榪炴帴鏁幫紝榪囨護閲嶅:
cat access_log | grep "24/Jul/2007" | awk '{print $2}' | sort | uniq -c | sort -nr
4,褰撳ぉip榪炴帴鏁版渶楂樼殑ip閮藉湪騫蹭簺浠涔?鍘熸潵鏄湗铔?:
cat access_log | grep "24/Jul/2007:00" | grep "61.135.166.230" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10
5,褰撳ぉ璁塊棶欏甸潰鎺掑墠10鐨剈rl:
cat access_log | grep "24/Jul/2007:00" | awk '{print $8}' | sort | uniq -c | sort -nr | head -n 10
6,鐢╰cpdump鍡呮帰80绔彛鐨勮闂湅鐪嬭皝鏈楂?br />
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr
鎺ョ潃浠庢棩蹇楅噷鏌ョ湅璇p鍦ㄥ共鍢?
cat access_log | grep 220.181.38.183| awk '{print $1"\t"$8}' | sort | uniq -c | sort -nr | less
7,鏌ョ湅鏌愪竴鏃墮棿孌電殑ip榪炴帴鏁?
grep "2006:0[7-8]" www20060723.log | awk '{print $2}' | sort | uniq -c| sort -nr | wc -l
鍒犻櫎JSP緙栬瘧鍚庣殑絀鴻鍔炴硶濡備笅錛?/strong>
1. 鏀寔JSP 2.1+ 錛屽湪姣忎釜瑕佸幓絀鴻鐨勯〉闈㈤噷鍖呭惈涓嬮潰浠g爜錛?/p>
- <%@ page trimDirectiveWhitespaces="true" %>
鍦?Tomcat 6.0.14涓嬫祴璇旿SP緙栬瘧鎴愬姛
2. 鏀寔servlet 2.5+, 鍗?web.xml鐨?XSD鐗堟湰涓?.5錛屽湪web.xml涓姞鍏ュ涓嬩唬鐮?/p>
- <jsp-config>
- <jsp-property-group>
- <url-pattern>*.jsp</url-pattern>
- <trim-directive-whitespaces>true</trim-directive-whitespaces>
- </jsp-property-group>
- </jsp-config>
鍦╰omcat 6.0.14涓嬫祴璇旿SP緙栬瘧鎴愬姛
3. Tomcat 5.5.x+錛屽湪Tomcat瀹夎鐩綍/conf/web.xml涓壘鍒板悕鍙?jsp"鐨剆ervlet錛屾坊鍔犱笅闈竴孌典唬鐮侊細
- <init-param>
- <param-name>trimSpaces</param-name>
- <param-value>true</param-value>
- </init-param>
鏈漢嫻嬭繃
trimSpaces Should white spaces in template text between actions or directives be trimmed? [false]
鍦ㄥ疄闄呮搷浣滀腑鎴戝姞鍏ヤ簡5.5鐨勯厤緗埌欏甸潰涓茍鍙嶅鍚姩浜嗗嚑嬈omcat浣嗘槸榪樻槸娌℃湁鎴愬姛錛屽悗鏉ユ墠鎯沖埌JSP宸茬粡緙栬瘧鎴恠ervlet浜嗘墍浠ユ病鏈夎兘鏀瑰彉錛岃繘鍏ュ埌tomcat涓殑work鐩綍鎶婂凡緇忚繘琛孞SP緙栬瘧鐨刢lass鍏ㄩ儴鍒犻櫎錛屽搰鍝堝搱錛屾暣涓笘鐣屾竻鍑浜嗭紝鎴愬姛鍒犻櫎絀鴻
鍦?
catalina.bat
鎵懼埌
set DEBUG_OPTS=
set JPDA=
鍦ㄤ笅闈㈡坊鍔?/p>
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
淇濆瓨
閫氳繃startup銆俠at鍚姩 tomcat
鍚姩jconsole 錛坖dk1.6.0_02\lib錛夛細杈撳叆
localhost:1090
鐢ㄦ埛鍚?鍙d護 涓虹┖
榪涘叆 鍗沖彲 鏌ョ湅
鍙槸錛屽鏋滈氳繃浜嗗綰у弽鍚戜唬鐞嗙殑璇濓紝X-Forwarded-For鐨勫煎茍涓嶆涓涓紝鑰屾槸涓涓詫緝锝愬鹼紝絀剁珶鍝釜鎵嶆槸鐪熸鐨勭敤鎴風鐨勭湡瀹濱P鍛紵
絳旀鏄彇X-Forwarded-For涓涓涓潪unknown鐨勬湁鏁圛P瀛楃涓層?br />
濡傦細
X-Forwarded-For錛?92.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
鐢ㄦ埛鐪熷疄IP涓猴細 192.168.1.110
涓轟簡紜畾浣犵殑Linux鐜涓嬬▼搴忎細浣跨敤鐨勫瓧浣撴枃浠訛紝鍏堣窇璺戣繖涓▼搴忥細from others
瑙e喅鐨勫姙娉曟槸錛?br />緙栬緫/etc/profile鏂囦歡錛屽湪鏈鍚庡姞鍏xport CATALINA_OPTS='-Djava.awt.headless=true'
鍗沖彲