锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
聽(tīng)聽(tīng)聽(tīng)1錛壜?tīng)聽(tīng)聽(tīng)js,涓鑸兘鏀懼湪head涔嬮棿銆佹敞閲婄殑浣滅敤鏄綋瀹㈡埛绔祻瑙堝櫒鐗堟湰榪囦綆鏃訛紝涓嶈兘璇嗗埆鑰屽彂鐢熼敊璇?br /><script聽(tīng)language="JavaScript">
<!--
document.write( "Hello聽(tīng)World!");
//-->
</script>
聽(tīng)2錛夊彟澶栦綘涔熷彲浠ョ紪杈?js鏂囦歡錛岀劧鍚庡湪欏甸潰閲岄潰鐩存帴寮曠敤灝卞彲浠ヤ簡(jiǎn)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>javascript</title><script language="javascript"src="Untitled-2.js"></script></head>
2銆亀rite
鍏朵腑marquee涓環(huán)eight涓殑灞炴у彲浠ユ洿鏀規(guī)瘡嬈℃樉紺虹殑琛屾暟錛屸︹?/P>
鍏堝垎鏋愬師鍥狅紝鎴戠敤鐨勬槸Mysql鏁版嵁搴擄紝鏂伴椈鍐呭閲囩敤鐨勬槸Text綾誨瀷錛屾煡鐪嬫暟鎹簱涓笂浼犵殑鏂伴椈鍙戠幇閲岄潰鎹㈣鍜岀┖鏍奸兘鑳借〃鐜板嚭鏉ワ紝榪欏氨璇存槑錛岃偗瀹氭槸鐢≧s.getstring鏃舵樉紺虹殑闂錛屽厛鏌ョ湅浜?jiǎn)Java.sql.*鐨凙pi鎯崇敤鍒殑Get鏂規(guī)硶錛岃瘯浜?jiǎn)鍑犱釜缁撴灉閮戒笉琛屽Q?/FONT>
緗戜笂涔熸湁榪欐牱綾諱技鐨勯棶棰橈紝浣嗗ぇ澶氭槸鍦⊿ervlet閲岄潰鎴栬匓ean閲岄潰涓撻棬鐨勫仛涓涓嚱鏁拌В鍐崇殑錛屾垜瑙夊緱榪欐牱鍋氬緢澶嶆潅
鏈鍚庣粓浜庢壘鍒頒簡(jiǎn)鐨勮В鍐蟲(chóng)柟娉曪紝鍦ㄨ皟鐢≧s.getstring鐨勯〉闈㈤噷闈㈢殑琛ㄦ牸涓姞鍏tyle="word-break:break-all"
騫剁敤<pre>rs.getString()<>鏍囩鏉ユ樉紺哄氨瑙e喅浜?jiǎn)鎹㈣鐨勯棶棰樸傚叾涓?STRONG><pre></pre>榪欏彞璇濅竴瀹氫笉鑳藉皯
鐒惰屽姞鍏ヨ繖浜涗互鍚庯紝褰撲竴琛屽唴瀹硅繃闀挎椂錛岃〃鏍間緷鐒朵細(xì)琚拺寮錛岄渶瑕佸湪琛ㄦ牸鑳tyle灞炴т慨鏀規(guī)垚style="table-layout: fixed; word-wrap: break-word" 榪欐牱鎵嶈兘鐪熸瑙e喅涓枃鎾戝紑琛ㄦ牸鐨勯棶棰樸?/STRONG>
鍥犱負(fù)鍚屾椂瑕佷笂浼犳枃浠訛紝鎵浠NCTYPE="multipart/form-data" 蹇呴』瑕佸姞鍦╢orm閲岄潰
鍙槸榪欐牱鐨勮瘽錛屾垜鍐峴ervlet閲岄潰鐢╮equest.getParameter()鏂規(guī)硶鏃犺濡備綍閮藉彧鏄幏寰梟ull鍊鹼紝
涓嶆槸涓鑸殑閮侀椃錛岀櫨搴︿簡(jiǎn)涓涓嬶紝鏈変漢鍑虹幇浜?jiǎn)鍚屾狅L(fēng)殑闂鍙槸瀹冪敤鐨勬槸jspsmartupload緇勪歡瀹炵幇鏂囦歡涓婁紶鐨勶紝
鑰屾垜鐢ㄧ殑commons fileupload緇勪歡錛屼粩緇嗙湅浜?jiǎn)涓涓嬭繖涓粍浠剁殑api錛屽彲鏄嫳璇お宸簡(jiǎn)錛屾病鏈夊彂鐜扮浉鍏崇殑淇℃伅
鎴戝張灝濊瘯鐢╯ession浼犻掑弬鏁幫紝鍙槸鍙戠幇鏈夌偣楹葷儲(chǔ)錛屽洜涓哄湪琛ㄥ崟鎻愪氦涔嬫椂浣犲氨寰楄祴緇檚ession琛ㄥ崟涓婂畠鐨勬暟鍊鹼紝
榪欎技涔庤javascript錛屽彲鏄伓涔熶笉浼?xì)锛?/P>
鍚庢潵鍙湁google浜?jiǎn)锛屾悳鐑?chǔ)浜?jiǎn)涓浜涗腑鏂囩綉欏碉紝涔熸病鏈夋壘鍒拌祫鏂欙紝璇曡瘯涓嶉檺鍒惰璦錛屽懙鍛靛懙錛屼竴澶х墖錛屽悗鏉ヨ淇哄彂
鐜頒簡(jiǎn)榪欎釜
I cannot read the submitter using request.getParameter("submitter") (it returns null). ]
Situation: javax.servlet.HttpServletRequest.getParameter(String) returns null when the ContentType is multipart/form-data Solutions: Solution A: 1. download http://www.servlets.com/cos/index.html 2. invoke getParameters() on com.oreilly.servlet.MultipartRequest Solution B: 1. download http://jakarta.apache.org/commons/sandbox/fileupload/ 2. invoke readHeaders() in org.apache.commons.fileupload.MultipartStream Solution C: 1. download http://users.boone.net/wbrameld/multipartformdata/ 2. invoke getParameter on com.bigfoot.bugar.servlet.http.MultipartFormData Solution D: Use Struts. Struts 1.1 handles this automatically.
璇存槸涓嶈緇嗭紝鎺ョ潃寰(xiàn)涓嬬湅錛屽彟涓縐嶈В鍐蟲(chóng)柟娉?/PRE>> Solution B:
> 1. download
> http://jakarta.apache.org/commons/sandbox/fileupload/
> 2. invoke readHeaders() in
> org.apache.commons.fileupload.MultipartStream
The Solution B as given by my dear friend is a bit hectic and a bit complex :(
We can try the following solution which I found much simpler (at least in usage).
1. Download one of the versions of UploadFile from http://jakarta.apache.org/commons/fileupload/
2. Invoke parseRequest(request) on org.apache.commons.fileupload.FileUploadBase which returns list of org.apache.commons.fileupload.FileItem objects.
3. Invoke isFormField() on each of the FileItem objects. This determines whether the file item is a form paramater or stream of uploaded file.
4. Invoke getFieldName() to get parameter name and getString() to get parameter value on FileItem if it's a form parameter. Invoke write(java.io.File) on FileItem to save the uploaded file stream to a file if the FileItem is not a form parameter.鎸夌収涓婇潰鐨勬楠ゆ潵錛屾灉鐒朵竴鍒囬兘ok錛岋姬錛集錛э棘錛ョ湡涓嶉敊錛屼富瑕佹槸getFieldName鍜実etString錛?/PRE>铏界劧璇磋繖縐嶅仛娉曟湁涓鐐歸夯鐑?chǔ)锛屼絾绋嶅井鍒ゆ柇鍔犲伐涓涓嬶紝鎬繪瘮鑾峰彇涓嶅埌寮?BR>
]]>
騫沖彴鏄痻p+mysql+tomcat4
浠庣綉涓婃悳浜?jiǎn)涓涓?浠庝竴綃囧彨::::<<<Servlet瀛︿範(fàn)絎旇(鍥?-----浣跨敤Servlet澶勭悊鐢ㄦ埛娉ㄥ唽鍜岀櫥闄?gt;>
涓悳鍒頒簡(jiǎn)涓浜涙簮浠g爜,瀹冩湁涓や釜html欏甸潰:鍒嗗埆鏄痩ogin.html鍜宺egister.html
鐒跺悗鍒嗗埆璋冪敤浜?jiǎn)涓や釜servlet:LoginForm.java鐢ㄦ潵瀹炵幇鐢ㄦ埛鍜屽瘑鐮佺殑楠岃瘉,
鍜孯egisterForm.java鐢ㄦ潵瀹炵幇娉ㄥ唽,浣忔暟鎹簱涓坊鍔犲瓧孌?/SPAN>
鐢變簬鍔犺澆鐨刯dbc椹卞姩涓嶅悓,鎴戝姞杞界殑鏄痬m.mysql-2.0.4-bin.jar紼嶅井鍋氫簡(jiǎn)淇敼
閬囧埌鐨勯棶棰?/FONT>
1,緇欑殑婧愮爜涓璴ogin欏甸潰涓殑鎸夌航鐢ㄧ殑鏄浘鐗囷紝鎴戦兘鎶婂叾鎹㈡垚鎸夌航錛屽彲鏄煩杞埌reigster欏甸潰鐨勬寜閽偣鍑?yán)L椂娌℃湁浠諱綍鍙嶅簲錛屾崲浜?jiǎn)锛畫(huà)啤閾炬帴鍦板潃鍚庯紝榪樻槸涓嶇鐢紝浜庢槸鎶妕ype鎹㈡垚鏂囧瓧緇撴灉灝憋集錛簡(jiǎn)錛岀敤dreamweaver鎵撳紑浠ュ悗鍙戠幇鍦ㄨ〃鍗曢噷button鍙湁鎻愪氦鍜岄噸緗殑鍔熻兘錛岃屼笉鑳界敤鏉ュ疄鐜伴摼鎺ラ〉闈紝
榪欒鏄庢垜鐨刪tml鐭ヨ瘑澶繃鍖箯錛屽洜涓轟富瑕佸仛鐨勬槸servlet錛屽氨鍑戝悎鐫鐢ㄥ惂錛屼互鍚庤繕寰楀姞寮篽tml鐨勫涔?/SPAN>
錛掑湪閰嶇疆濂絯eb.xml鍚庯紝鍙戠幇鐐瑰嚮submit璺寵漿鍒版紜殑url錛屼絾鏄痵ervlet騫舵病鏈夎搗浠諱綍浣滅敤錛?/SPAN>
榪欐椂鏈夌偣鍥版儜錛屼笉鐭ラ亾浠庝粈涔堝湴鏂瑰叆鎵嬶紝榪樻槸鍏堜慨鏀箂ervlet鍔犵偣print鐪嬬湅鎵ц鍒板摢涓姝ユ墠鍑虹殑闂錛?/SPAN>
鍙槸鍔犲叆浠ュ悗鍦╥e涓繕鏄病鏈夊弽搴旓紝鍚庢潵鎵嶆兂璧鋒潵print搴旇鏄湪tomcat鐨勭獥鍙d腑杈撳嚭錛屼竴鐪媏xception
鏄繛鎺ユ暟鎹簱澶辮觸錛屽彲鏄繛鎺ユ病鏈夐棶棰橈紝榪欑偣鎴戞瘮杈冭偗瀹氾紝閭h偗瀹氭槸tomcat鐨刯dbc椹卞姩娌℃湁鍔犺澆
浜庢槸鎶妋m.mysql-2.0.4-bin.jar鎷峰埌tomcat鐩綍涓媍omman/lib鐩綍涓嬶紝
涓嫻嬭瘯鏁版嵁搴撴病闂?shù)簡(jiǎn)锛屼絾鏄姏鍑轰竴涓猲ullpointer鐨勫紓甯革紝媯(gè)鏌ヤ簡(jiǎn)涓涓嬭В鍐充簡(jiǎn)
鍦ㄨ繖嬈″仛鐨勮繃紼嬩腑鍙戠幇鑷繁鐨勫熀紜鐭ヨ瘑鐩稿綋緙轟箯錛屽挨鍏舵槸html鍜宻ql璇彞錛屼互鍚庤鍔犲己瀛︿範(fàn)錛屽悓鏃舵劅瑙夎嚜宸辨晥鐜囧お浣庝簡(jiǎn)錛?/SPAN>
寮鍙戝鉤鍙?winxp+tomcat4+mysql+javabean
鍦ㄥ疄鐜板湪浜?jiǎn)鐢╯ervlet娉ㄥ唽榪樻湁鐧誨綍浠ュ悗錛屾墦綆楀仛涓涓敞鍐岄〉闈?/P>
棣栧厛鍒涘緩涓涓〃錛歶sername VARCHAR2(20) 鐢ㄦ埛鍚?
password VARCHAR2(20) 瀵嗙爜
email VARCHAR2(30) Email鍦板潃
homepage VARCHAR2(50) 涓婚〉
signs VARCHAR2(200) 絳懼悕
regtime DATE 娉ㄥ唽鏃躲銆銆錛忥紡榪欎釜date鎴戞病鏈夊疄鐜?/P>
涓昏鏈変笁涓猨sp欏甸潰錛?/P>
addnewuser.jsp錛屼富瑕佺敤鏉ュ疄鐜版敞鍐岀敤鎴風(fēng)殑鐣岄潰錛?/P>
doadduser.jsp 瀹炵幇濉姞鍒版暟鎹簱涓殑鍏蜂綋鍔熻兘
listuser.jsp 鏉ュ疄鐜版樉紺烘墍鏈夌敤鎴蜂俊鎭?/P>
涓や釜bean錛?/P>
db.java瀹炵幇鏁版嵁搴撶殑鎿嶄綔錛屼富瑕佹湁涓や釜鏂規(guī)硶public ResultSet executeQuery(sql)榪斿洖rs鐢ㄦ潵榪涜璁板綍鐨勬煡璇?/P>
public boolean executeUpdate(String sql)鐢ㄦ潵榪涜璁板綍鐨勬洿鏂?/P>
adduser.java緇ф壙浜?jiǎn)db綾葷敤鏉ユ彁渚涙墍闇鏇存柊鍜屾煡璇㈢殑sql璇彞;
鎴戠洿鎺ヨ皟鐢ㄥ師鏂囩殑浠g爜鏃跺悗鍙戠幇璋冪敤浜?jiǎn)span浠涔堬紝涓嶅お鎳傦紝鑰屼笖鏈夊緢澶氬瓧絎︿笉瀵癸紝鎵浠ヨ皟璇曟椂鐨勯棶棰樺熀鏈笂閮芥槸html浠g爜鐨勯棶棰?榪欐槸涓涓粎鏈夊熀鏈姛鑳斤紝寰堝鏂歸潰榪橀渶榪涗竴姝ュ畬鍠勶紝姣斿瀹炵幇娉ㄥ唽鏃墮棿錛堣櫧鐒惰繖涓嶉毦錛屽彲鏄垜榪樻病鐪媢til.date鍜宻ql.date 鍖哄埆錛夛紝email鍦板潃鐨勮瘑鍒紝榪炵櫥褰曢兘娌℃湁鍋氥錛氾級(jí)銆錛屾垜鍙戠幇鍩轟簬榪欑bean緇撴瀯鐨勫姛鑳藉緢鍚稿紩浜猴紝姣攕ervlet瑕佸ソ錛岃偆嫻呬箣瑙?/P>
婧愮爜濡備笅錛歞b.java
package rkind;
import java.net.*;
import java.sql.*;
import java.lang.*;
import java.io.*;
import java.util.*;
public class db {
//鎴愬憳鍙橀噺鍒濆鍖?
Connection conn = null; //鏁版嵁搴撹繛鎺?
ResultSet rs = null; //璁板綍闆?
String Username=""; //鐢ㄦ埛鍚?
String Password=""; //瀵嗙爜
String Email=""; //email
String Homepage=""; //涓婚〉
String Signs=""; //絳懼悕
String url="jdbc:mysql://172.20.0.73/rk";
//db鐨勬瀯寤哄櫒
public db() {
try {
//娉ㄥ唽鏁版嵁搴撻┍鍔ㄧ▼搴忎負(fù)Oracle椹卞姩
String name="org.gjt.mm.mysql.Driver";
Class.forName(name);
conn = DriverManager.getConnection(url,"root","浣犵殑瀵嗙爜");
System.out.println("success");
}
catch(Exception e) {
//榪欐牱鍐欐槸涓轟簡(jiǎn)鏂逛究璋冭瘯紼嬪簭錛屽嚭閿欐墦鍗癿ydb()灝辯煡閬撳湪浠涔堝湴鏂瑰嚭閿欎簡(jiǎn)
System.err.println("mydb(): " + e.getMessage());
}
}
//executeQuery鏂規(guī)硶鐢ㄤ簬榪涜璁板綍鐨勬煡璇㈡搷浣?
//鍏ュ彛鍙傛暟涓簊ql璇彞錛岃繑鍥濺esultSet瀵硅薄
public ResultSet executeQuery(String sql) {
rs = null;
try {
//寤虹珛鏁版嵁搴撹繛鎺ワ紝浣跨敤Oracle鐨勪竴縐峵hin榪炴帴鏂瑰紡錛宒emo涓轟富鏈哄悕瀛楋紝demodb涓烘暟鎹簱錛屽悗闈㈢殑涓や釜
//demo涓虹敤鎴峰悕鍜屽瘑鐮?
Statement stmt = conn.createStatement();
//鎵ц鏁版嵁搴撴煡璇㈡搷浣?
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("db.executeQuery: " + ex.getMessage());
}
return rs;
}
//executeUpdate鏂規(guī)硶鐢ㄤ簬榪涜add鎴栬卽pdate璁板綍鐨勬搷浣?
//鍏ュ彛鍙傛暟涓簊ql璇彞錛屾垚鍔熻繑鍥瀟rue錛屽惁鍒欎負(fù)false
public boolean executeUpdate(String sql) {
boolean bupdate=false;
rs = null;
try {
//寤虹珛鏁版嵁搴撹繛鎺ワ紝鍏跺畠鍙傛暟璇存槑鍚屼笂闈㈢殑涓鏍?
Statement stmt = conn.createStatement();
int rowCount = stmt.executeUpdate(sql);
//濡傛灉涓嶆垚鍔燂紝bupdate灝變細(xì)榪斿洖0
if(rowCount!=0)bupdate=true;
}
catch(SQLException ex) {
//鎵撳嵃鍑洪敊淇℃伅
System.err.println("db.executeUpdate: " + ex.getMessage());
}
return bupdate;
}
//toChinese鏂規(guī)硶鐢ㄤ簬灝嗕竴涓瓧絎︿覆榪涜涓枃澶勭悊
//鍚﹀垯灝嗕細(xì)鏄???榪欐牱鐨勫瓧絎︿覆
public static String toChinese(String strvalue) {
try{
if(strvalue==null)
{
return null;
}
else {
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
return strvalue;
}
}catch(Exception e){
return null;
}
}
}
adduser.java
package rkind;
import java.sql.*;
import java.lang.*;
import java.util.Date;
//adduser鐢眃b媧劇敓鍑烘潵錛屾嫢鏈塪b鐨勬垚鍛樺彉閲忓拰鏂規(guī)硶
public class adduser extends db {
//鏋勫緩鍣?
public boolean addNewUser(){
boolean boadduser=false;
try {
//榪涜鐢ㄦ埛娉ㄥ唽鐨勮褰曟坊鍔犳搷浣滐紝鐢熸垚sql璇彞
String sSql=new String("insert into demo(username,password,email,homepage, signs)");
sSql=sSql+ " values('"+Username+"','"+Password+"','"+Email+"','"+Homepage +"','"+Signs+"')";
//涓縐嶈皟璇曠殑鏂規(guī)硶錛屽彲浠ユ墦鍗板嚭sql璇彞錛屼互渚夸簬鏌ョ湅閿欒
System.out.println(sSql);
//璋冪敤鐖剁被鐨別xecuteUpdate鏂規(guī)硶錛屽茍鏍規(guī)嵁鎴愬姛浠ュ惁鏉ヨ緗繑鍥炲?
if(super.executeUpdate(sSql))boadduser=true;
}
catch(Exception ex) {
//鍑洪敊澶勭悊
System.err.println("adduser.addNewUser: " + ex.getMessage());
}finally{
//鏃犺鏄惁鍑洪敊錛岄兘瑕佽繑鍥炲?
return boadduser;
}
}
//checkUser()鏂規(guī)硶鐢ㄦ潵媯(gè)鏌ョ敤鎴峰悕鏄惁閲嶅
//濡傛灉閲嶅榪斿洖涓涓猣alse
public boolean checkUser(){
boolean boadduser=false;
try {
//鏋勫緩sql鏌ヨ璇彞
String sSql="select * from demo where username='"+Username+"'";
//璋冪敤鐖剁被鐨別xecuteQuery鏂規(guī)硶
if((super.executeQuery(sSql)).next()){
//鏌ヨ鍑烘潵鐨勮褰曢泦涓虹┖
boadduser=false;
}else{
boadduser=true;
}
}
catch(Exception ex) {
//鍑洪敊澶勭悊
System.err.println("adduser.addNewUser: " + ex.getMessage());
}finally{
//榪斿洖鍊?
return boadduser;
}
}
public String getUsername(){ return Username;}
public void setUsername(String newUsername){
//鐢ㄦ埛鍚嶆湁鍙兘鏄腑鏂囷紝闇瑕佽繘琛岃漿鎹?
Username =db.toChinese(newUsername);}
//灞炴у瘑鐮丳assword鐨刧et/set鏂規(guī)硶
public String getPassword(){
return Password;}
public void setPassword(String newPassword){ Password = newPassword;}
//灞炴mail鐨刧et/set鏂規(guī)硶
public String getEmail(){ return Email;}
public void setEmail(String newEmail){ Email = newEmail;}
//灞炴т富欏礖omepage鐨刧et/set鏂規(guī)硶
public String getHomepage(){ return Homepage;}
public void setHomepage(String newHomepage){ Homepage = newHomepage;}
//灞炴т富欏礢igns鐨刧et/set鏂規(guī)硶
public String getSigns(){ return Signs;}
public void setSigns(String newSigns){
//絳懼悕鏈夊彲鑳芥槸涓枃錛岄渶瑕佽繘琛岃漿鎹?
Signs = db.toChinese(newSigns);}
}
newuser.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<% response.setHeader("Expires","0"); %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>鏂扮敤鎴鋒敞鍐?</title>
</head>
<body bgcolor="#FFFAD9">
<script language="JavaScript">
function valid(form)
{
if(form.username.value.length==0)
{
alert("Please enter username!");
form.username.focus();
return false;
}
if(form.Password.value==form.password1.value){
alert("浣犺緭鍏ョ殑楠岃瘉瀵嗙爜涓嶆紜?);
form.password1.focus();
}
}
</script>
<p align="center"><font color="#8484FF"><strong><big>鏂頒釜浜?
鐢ㄦ埛娉ㄥ唽 </font>
<form onsubmit="return valid(this)" method="POST" name="formreg" action="donewuser.jsp">
<div align="center"><center>
<table width="49%" height="281"
border="1"
cellspacing="0">
<tr>
<td width="27%" bgcolor="#DDDDFF" align="center">鐢ㄦ埛鍚嶏細(xì)
<td width="73%" bgcolor="#DDDDFF"><input type="text"
name="username" size="20" >
<font color="#00CCFF"><b>* </b></font>
</tr>
<tr>
<td width="27%" bgcolor="#DDDDFF" align="center">杈撳叆瀵嗙爜錛?
<td width="73%" bgcolor="#DDDDFF"><input type="password" name="password" size="20"
>
<font color="#FF0000"><b>* </b></font>
</tr>
<tr>
<td width="27%" bgcolor="#DDDDFF" align="center">鏍¢獙瀵嗙爜錛?
<td width="73%" bgcolor="#DDDDFF"><input type="password" name="password1" size="20"
>
<font color="#FF0000"><b>* </b></font>
</tr>
<tr>
<td width="27%" bgcolor="#DDDDFF" align="center">E-mail
<td width="73%" bgcolor="#DDDDFF"><input type="text" name="email" size="20" >
<font color="#FF0000">* </font>
</tr>
<tr>
<td width="27%" bgcolor="#DDDDFF" align="center">涓婚〉鍦板潃錛?
<td width="73%" bgcolor="#DDDDFF"><input type="text" name="homepage" size="20"
value="http://">
</tr>
<tr>
<td width="100%" height="20" colspan="2" bgcolor="#DDDDFF"><br>
<center>
<font color="red"><b>浠嬬粛鑷繁錛?錛堜粙緇嶈嚜宸憋紝涓嶈兘瓚呰繃120瀛楋級(jí)</span></b></font>
</center> </tr>
<td width="70%">
<tr>
<td><textarea rows="6"
name="signs" cols="30" ></textarea>
</tr>
<tr>
<td width="30%" bgcolor="#DDDDFF" colspan="2"><center>
<p>
<input
type="submit" value="閫掍氦" onClick="return checkmsg();" name="B1" >
<input type="reset" value="娓呴櫎" name="B2" >
</center>
</tr>
</table>
</div>
</form>
<hr size="1" color="#FF0000">
<p align="center">Better View:800*600 Best View:1024x768
涓轟簡(jiǎn)鏈郴緇熻兘澶熸洿濂界殑涓烘?zhèn)ㄦ湇鍔″Q岃浣跨敤IE4.0鎴栦互涓婄増鏈祻瑙堝櫒
<font color="#000000"></font><a href="javascript:%20newGuide("copyright.htm")"
target="_self">鐗堟潈鎵鏈?</a>
</body>
</html>
listuser.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<% response.setHeader("Expires","0"); %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="org.gjt.mm.mysql.Driver.*" %>
<!--鐢熸垚涓涓狫avaBean:lyf.db鐨勫疄渚?->
<jsp:useBean id="db" class="rkind.db" scope="request"/>
<jsp:setProperty name="db" property="*"/>
<%
java.lang.String strSQL; //SQL璇彞
int intPageSize; //涓欏墊樉紺虹殑璁板綍鏁?
int intRowCount; //璁板綍鎬繪暟
int intPageCount; //鎬婚〉鏁?
int intPage; //寰呮樉紺洪〉鐮?
java.lang.String strPage;
int i,j,k;
//璁劇疆涓欏墊樉紺虹殑璁板綍鏁?
intPageSize = 15;
//鍙栧緱寰呮樉紺洪〉鐮?
strPage = request.getParameter("page");
if(strPage==null){//琛ㄦ槑鍦≦ueryString涓病鏈塸age榪欎竴涓弬鏁幫紝姝ゆ椂鏄劇ず絎竴欏墊暟鎹?
intPage = 1;
}
else{//灝嗗瓧絎︿覆杞崲鎴愭暣鍨?
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
//鑾峰彇璁板綍鎬繪暟
strSQL = "select count(*) from demo";
ResultSet result = db.executeQuery(strSQL); //鎵цSQL璇彞騫跺彇寰楃粨鏋滈泦
result.next(); //璁板綍闆嗗垰鎵撳紑鐨勬椂鍊欙紝鎸囬拡浣嶄簬絎竴鏉¤褰曚箣鍓?
intRowCount = result.getInt(1);
result.close(); //鍏抽棴緇撴灉闆?
//璁扮畻鎬婚〉鏁?
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//璋冩暣寰呮樉紺虹殑欏電爜
if(intPage>intPageCount) intPage = intPageCount;
strSQL="select * from demo ";
//鎵цSQL璇彞騫跺彇寰楃粨鏋滈泦
result = db.executeQuery(strSQL);
//灝嗚褰曟寚閽堝畾浣嶅埌寰呮樉紺洪〉鐨勭涓鏉¤褰曚笂
i = (intPage-1) * intPageSize;
for(j=0;j<i;j++) result.next();
%>
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>鐢ㄦ埛鍒楄〃</title>
</head>
<body bgcolor="#FFEBBD">
<div align="center"><center>
<table border="1"
borderColorDark="#FFFFFF" borderColorLight="#000000" cellspacing="0" height="22"
width="100%">
<tr bgcolor="#FFEBAD">
<td height="1" width="691" class="main">
絎?lt;%=intPage%>欏?鍏?lt;%=intPageCount%>欏?
<a href="listuser.jsp?page=0">棣栭〉</a>
<%if(intPage>1){%><a href="listuser.jsp?page=<%=intPage-1%>">涓婁竴欏?lt;/a><%}%>
<%if(intPage<=1){%>涓婁竴欏?lt;%}%>
<%if(intPage<intPageCount){%><a href="listuser.jsp?page=<%=intPage+1%>">涓嬩竴欏?lt;/a><%}%>
<%if(intPage>=intPageCount){%>涓嬩竴欏?lt;%}%>
<a href="listuser.jsp?page=<%=intPageCount%>">灝鵑〉</a>
絎?lt;input type="text" class="main" name="page" size="3" value="<%=intPage%>" tabindex="1">欏?lt;input type="submit" class="main" value="go" name="B1" tabindex="2"><class="main">
</td></tr></table></form>
<table border="1" width="100%" cellspacing="0" bordercolorlight="#000000"
bordercolordark="#FFFFFF" class="main">
<tr bgcolor="#FFEBAD">
<td >
<div align="left">鐢ㄦ埛鍚?lt;/div>
</td>
<td >
<p align="center">Email
</td>
<td >
<p align="center">涓婚〉
</td>
<td>
<p align="center">鐧昏鏃墮棿
</td>
<td>
<p align="center">璇存槑
</td>
</tr>
<%
//鏄劇ず鏁版嵁
i = 0;
while(i<intPageSize && result.next()){
%>
<tr bgcolor="#FFEBAD">
<td>
<div align="left"><%=result.getString("username") %></div></td>
<td><div align="center"><%=result.getString("email") %></a></div></td>
<td><div align="center"><font color="#0000CC"><%=result.getString("homepage") %></font></div></td>
<td><div align="center"><font color="#FF6666"><%=result.getDate("regtime") %></font></div></td>
<td><div align="center"><font color="#0000FF"><%=result.getString("signs") %></font></div></td></tr>
<%
i++;
}
%>
</table>
<% result.close(); //鍏抽棴緇撴灉闆?>
</body>
</html>
donewuser.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<% response.setHeader("Expires","0"); %>
<!--鐢熸垚涓涓狫avaBean:lyf.adduser鐨勫疄渚嬶紝id涓篴dduser錛岀敓瀛樿寖鍥翠負(fù)page-->
<jsp:useBean id="adduser" class="rkind.adduser" scope="page"/>
銆銆 <!--璁劇疆JavaBean涓悇涓睘鎬х殑鍊鹼紝榪欎細(xì)璋冪敤JavaBean涓悇涓睘鎬х殑set鏂規(guī)硶錛屼互渚縅avaBean寰楀埌姝g‘鐨勫睘鎬у鹼紝鈥?鈥濅唬琛ㄨ繘琛屾墍鏈夊睘鎬х殑鍖歸厤-->
<jsp:setProperty name="adduser" property="*"/>
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>鐢ㄦ埛娣誨姞</title>
</head>
<body bgcolor="#FFEBBD">
<div align="center"><center>
<%
//璋冪敤lyf.adduser鐨刢heckUser()鏂規(guī)硶媯(gè)鏌ユ槸鍚︽湁閲嶅鐨勭敤鎴峰悕
//濡傛灉鏈夐噸澶嶅氨鏄劇ず瀵瑰簲鐨勪俊鎭?
if(!adduser.checkUser())
{
//欏甸潰鏂囧瓧杈撳嚭淇℃伅錛屼嬌鐢╦sp鍐呯疆瀵硅薄out鐨刾rintln鏂規(guī)硶錛岀浉褰撲簬asp涓殑response.write鏂規(guī)硶
out.println("瀵逛笉璧鳳紝榪欎釜鐢ㄦ埛鍚?+adduser.getUsername()+"宸茬粡琚敵璇蜂簡(jiǎn)錛岃閲嶆柊閫夋嫨錛?);
//return浠h〃榪斿洖錛岃繍琛屾椂鍊欑鍒皉eturn灝變笉浼?xì)杩涜涓嬮潰鐨勫鐞嗕簡(jiǎn)锛屽姛鑳界浉褰撲簬asp涓殑response.end
return;
}
%>
<%
//濡傛灉娌℃湁鐢ㄦ埛鍚嶉噸澶嶇殑闂錛岃皟鐢╨yf.adduser鐨刟ddNewUser()鏂規(guī)硶鏉ュ皢鐢ㄦ埛鏁版嵁娣誨姞鍒版暟鎹簱涓紝騫舵牴鎹暟鎹坊鍔犳垚鍔熷惁鏉ユ樉紺哄搴旂殑淇℃伅
if(adduser.addNewUser()){
%>
<H2>娣誨姞鐢ㄦ埛鎴愬姛錛?lt;/P>
<%}else{%>
<H2>娣誨姞鐢ㄦ埛澶辮觸錛岃鍜岀鐞嗗憳鑱旂郴錛?lt;/P>
<%}%>
</BODY>
</HTML>
鐫鍏堥厤緗ソclasspath,鍔犱笂servlet.jar鍜宑ommons-fileupload-1.0.jar,
鐒跺悗鎶奵ommons-fileupload-1.0.jar鏀懼埌root涓嬬殑web-inf/lib/涓?/P>
緙栧啓up.java騫剁紪緇?鏀懼埌web-inf/classes鐩綍涓?/P>
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;
public class up extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 璁劇疆鍏佽鐢ㄦ埛涓婁紶鏂囦歡澶у皬,鍗曚綅:瀛楄妭錛岃繖閲岃涓?m
fu.setSizeMax(2*1024*1024);
// 璁劇疆鏈澶氬彧鍏佽鍦ㄥ唴瀛樹(shù)腑瀛樺偍鐨勬暟鎹?鍗曚綅:瀛楄妭
fu.setSizeThreshold(4096);
// 璁劇疆涓鏃︽枃浠跺ぇ灝忚秴榪噂etSizeThreshold()鐨勫兼椂鏁版嵁瀛樻斁鍦ㄧ‖鐩樼殑鐩綍
fu.setRepositoryPath("c:\\windows\\temp");
//寮濮嬭鍙栦笂浼犱俊鎭?BR> List fileItems = fu.parseRequest(request);
// 渚濇澶勭悊姣忎釜涓婁紶鐨勬枃浠?BR> Iterator iter = fileItems.iterator();
//姝e垯鍖歸厤錛岃繃婊よ礬寰勫彇鏂囦歡鍚?BR> String regExp=".+\\\\(.+)$";
//榪囨護(hù)鎺夌殑鏂囦歡綾誨瀷
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//蹇界暐鍏朵粬涓嶆槸鏂囦歡鍩熺殑鎵鏈夎〃鍗曚俊鎭?BR> if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp<errorType.length;temp++){
if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{
//淇濆瓨?shù)笂浼犵殑鏂囦欢鍒版寚瀹氱殑鐩?/P>
//鍦ㄤ笅鏂囦腑涓婁紶鏂囦歡鑷蟲(chóng)暟鎹簱鏃訛紝灝嗗榪欓噷鏀瑰啓
item.write(new File("d:\\" + m.group(1)));
out.print(name+" "+size+"<br>");
}
catch(Exception e){
out.println(e);
}
}
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}
}
}
鐒跺悗甯冪講濂絯eb.xml,鍦ㄥ叾涓姞鍏?/P>
<servlet>
<servlet-name>up</servlet-name>
<servlet-class>up</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>up</servlet-name>
<url-pattern>/fileup</url-pattern>
</servlet-mapping>
濂戒簡(jiǎn)鐜板湪鍐嶇紪鍐欎竴涓猦tm嫻嬭瘯涓涓嬪氨ok浜?娉ㄦ剰url-pattern閲岄潰鐨勮礬寰勫繀欏昏窡琛ㄦ牸涓璦ction鐨勫睘鎬т竴鏍?
<html>
<h1>鏂囦歡涓婁紶婕旂ず</h1>
<form name="uploadform" method="POST" action="/fileup" ENCTYPE="multipart/form-data">
<table border="1" width="450" cellpadding="4" cellspacing="2" bordercolor="#9BD7FF">
<tr><td width="100%" colspan="2">
鏂囦歡1錛?lt;input name="x" size="40" type="file">
</td></tr>
<tr><td width="100%" colspan="2">
鏂囦歡2錛?lt;input name="y" size="40" type="file">
</td></tr>
<tr><td width="100%" colspan="2">
鏂囦歡3錛?lt;input name="z" size="40" type="file">
</td></tr>
</table>
<br/><br/>
<table>
<tr><td align="center"><input name="upload" type="submit" value="寮濮嬩笂浼?/></td></tr>
</table>
</form>
</html>