jspÎļþµÄÉÏ´«ºÍÏÂÔØ²Ù×÷´úÂë
jspÎļþÉÏ´«ºÍÏÂÔØ
package net.jspcn.tool;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
*
* Title: ÎļþÉÏ´«Àà
* Description: ¼ÈÄܶÔÎļþ½øÐÐÉÏ´«,ÓÖÄÜÈ¡µÃÊäÈë¿òµÄÖµ,×î¶à¿ÉͬʱÉÏ´«255¸öÎļþ
* Copyright: Copyright (c) 2002
* Company: Tekson
* @author ĪÇí
* @version 1.0
*/
public class UploadBean {
private String[] sourceFile = new String[255]; //Ô´ÎļþÃû
private String[] suffix = new String[255]; //Îļþºó׺Ãû
private String canSuffix = ".gif.jpg.jpeg.png"; //¿ÉÉÏ´«µÄÎļþºó׺Ãû
private String objectPath = "c:/"; //Ä¿±êÎļþĿ¼
private String[] objectFileName = new String[255]; //Ä¿±êÎļþÃû
private ServletInputStream sis = null; //ÊäÈëÁ÷
private String[] description = new String[255]; //ÃèÊö״̬
private long size = 100 * 1024; //ÏÞÖÆ´óС
private int count = 0; //ÒÑ´«ÊäÎļþÊýÄ¿
private byte[] b = new byte[4096]; //×Ö½ÚÁ÷´æ·ÅÊý×é
private boolean successful = true;
private Hashtable fields = new Hashtable();
public UploadBean() {
}
//ÉèÖÃÉÏ´«ÎļþµÄºó׺Ãû
public void setSuffix(String canSuffix) {
this.canSuffix = canSuffix;
}
//ÉèÖÃÎļþ±£´æÂ·¾¶
public void setObjectPath(String objectPath) {
this.objectPath = objectPath;
}
//ÉèÖÃÎļþ±£´æÂ·¾¶
public void setSize(long maxSize) {
this.size = maxSize;
}
//ÎļþÉÏ´«´¦Àí³ÌÐò
public void setSourceFile(HttpServletRequest request) throws IOException {
sis = request.getInputStream();
int a = 0;
int k = 0;
String s = "";
while ( (a = sis.readLine(b, 0, b.length)) != -1) {
s = new String(b, 0, a);
if ( (k = s.indexOf("filename=\"")) != -1) {
// È¡µÃÎļþÊý¾Ý
s = s.substring(k + 10);
k = s.indexOf("\"");
s = s.substring(0, k);
sourceFile[count] = s;
k = s.lastIndexOf(".");
suffix[count] = s.substring(k + 1);
if (canTransfer(count)) {
transferFile(count);
}
++count;
} else if ( (k = s.indexOf("name=\"")) != -1) {
// ÆÕͨ±íµ¥ÊäÈëÔªËØ£¬»ñÈ¡ÊäÈëÔªËØÃû×Ö
String fieldName = s.substring(k+6, s.length()-3);
sis.readLine(b, 0, b.length);
Ïà¹ØÎĵµ£º
1. JRE °²裝 (¿É從 http://java.sun.com/ÏÂ載)
Java SE Runtime Environment (JRE) JRE 6 Update 17
2. JDK°²裝 (¿É從 http://java.sun.com/ÏÂ載)
Java SE ......
ÔÚTomcatµÄserver.xmlµÄConnector²¿·ÖÌí¼ÓURIEncoding="GBK"£¬ÈçÏ£ºserver.xmlÌí¼ÓºóÄÚÈÝÈçÏ£º
Xml´úÂë
<Connector URIEncoding="GBK" port="8080"
maxThreads="150" m ......
ÍøÕ¾×öÍêºó£¬²¢²»ÊÇÖ±½Ó·Åµ½·þÎñÆ÷£¨Tomcat£©ÖÐÈ¥ÔËÐУ¬¶øÊÇÏȽ«Æä´ò°ü³ÉWarÎļþ£¬ÔÙ°ÑWarÎļþ·Åµ½·þÎñÆ÷ÖÐÈ¥ÔËÐУ¬ÄÇÑù¸ü·½±ã
ÄÇôÔõÑù½«Ò»¸öJspÍøÕ¾´ò°üÄØ£¿£¿£¿
Ò».·½·¨Ò»
½øÈëcmdµ½dosÃüÁîÐÐÏ£¬½øÈëJspWeb(×¢ÒâÒª½øÈëJspWebĿ¼£¬¼´½øÈëÄãÒª´ò°üµÄÍøÕ¾µÄ¸ùĿ¼)
ÔÙÏÂÒ»²½
......
request request±íʾHttpServletRequest¶ÔÏó¡£Ëü°üº¬ÁËÓйØä¯ÀÀÆ÷ÇëÇóµÄÐÅÏ¢£¬²¢ÇÒÌṩÁ˼¸¸öÓÃÓÚ»ñÈ¡cookie, header, ºÍsessionÊý¾ÝµÄÓÐÓõķ½·¨¡£
response response±íʾHttpServletResponse¶ÔÏ󣬲¢ÌṩÁ˼¸¸öÓÃÓÚÉèÖÃËÍ»Ø ä¯ÀÀÆ÷µÄÏìÓ¦µÄ·½·¨£¨Èçcookies,Í·ÐÅÏ¢µÈ£©
out out ¶ÔÏóÊÇjavax.jsp.JspWriterµÄÒ»¸öʵÀý£¬ ......
ÔÚJspÖе÷ÓÃSerlvetÖÐÒѾ´æ´¢ÁËÐÅÏ¢µÄ JavaBean.
ServletÖÐÒѾ°ÑÊý¾Ý¿âµÄÐÅÏ¢±£´æµ½JavaBeanÖÐ,ÔÙ°ÑJavaBean±£´æµ½SessionÖÐ.
Jsp¿ªÊ¼µ÷ÓÃ:
<jsp:useBean id="key" type="ClassName" scope="Session" />
<jsp:getProperty name="key" property="PropertyName" />
ÎÞ·¨¶Á³öÐÅÏ¢:
ÔÒò: JavaBean ÖÐÊôÐÔµ ......