code=HTML]<form name="upload" enctype="multipart/form-data" method="post" action="test.jsp"> 
上傳檔案位置: 
<input type="text" name="upload" value="" /><br><input type="submit" value="確定">
<input type="reset" value="清除" >
</form>[/code]

test.jsp將會執行JavaBean 

<HTML>
   <%@ page language="java"
       contentType="text/html; charset=Big5"
       import="JBeans.gps"
   %>
   <BODY>
      <jsp:useBean id="gps" scope="session" class="JBeans.gps"/>
   
   </BODY>
</HTML>
下面我不知道該怎麼執行 
因為我的執行位置是寫死固定的 
要怎麼樣才能靠初始網頁的upload欄位所填入的值來當作下面程式的執行位置 
我所說的就是下面這行 
InputStream fip = new BufferedInputStream(new FileInputStream("c://dog.jpg")); 
我讀檔的位置是固定寫死的 
我該怎麼完成利用上面網頁的上傳位置再利用JavaBean執行JAVA程式 
不過這c://dog.jpg 要改成變數還是什麼嗎好讓網頁來讀取位置 
如果是利用JavaBean的話不是要先編譯成CLASS檔案嗎 
如果變成CLASS檔案的話有辦法利用網頁來傳送值嗎 
或者是例用別的方法來完成 
請高手教我 
import java.io.*;import java.util.*;
import java.text.*;
//import java.awt.*;
import java.awt.image.*;
import java.awt.geom.AffineTransform;
import javax.imageio.*;
import javax.imageio.stream.*;import mediautil.gen.*;
import mediautil.gen.directio.*;
import mediautil.image.*;
import mediautil.image.jpeg.*;
public class SetGpsInfo {    public static void main(String[] args) throws Exception {
     
      我想將這行c://dog.jpg的檔案位置這是固定的   ,我想改成先前的上傳位置C://upload/dog.jpg
       我更不知道的為壓下網址確認鍵之後的觸發  我該怎麼將這行位置傳送給這個JAVA程式使用來當他的讀檔位置,也不
        知道壓下確認鍵後怎麼會執行這個JAVA程式
        有人知道我該要怎麼做嗎? 如果能的話請可以修改給我看嗎? 
       能的話可以順便說明這個地方是屬於JSP還是JAVA的哪個部份
       InputStream fip = new BufferedInputStream(new FileInputStream("c://dog.jpg")); 
                LLJTran llj = new LLJTran(fip);
        try {
            llj.read(LLJTran.READ_INFO, true);
        } catch (LLJTranException e) {
            e.printStackTrace();
        }        AbstractImageInfo imageInfo = llj.getImageInfo();        if(! (imageInfo instanceof Exif))
        {
            System.out.println("Sorry Image Does not have Exif. Exitting." + imageInfo);
            System.exit(1);
        }        Exif exif = (Exif) imageInfo;
        IFD mainIfd = exif.getIFDs()[0];
        IFD gpsIfd = mainIfd.getIFD(Exif.GPSINFO);
        Entry e;        // Set Latitude
        e = new Entry(Exif.ASCII);
        e.setValue(0, 'N');
        gpsIfd.setEntry(new Integer(Exif.GPSLatitudeRef), 0, e);
        e = new Entry(Exif.RATIONAL);
        e.setValue(0, new Rational(45, 1));
        e.setValue(1, new Rational(35, 1));
        e.setValue(2, new Rational(25, 1));
        gpsIfd.setEntry(new Integer(Exif.GPSLatitude), 0, e);
        e = new Entry(Exif.BYTE);        // Set Longitude
        e = new Entry(Exif.ASCII);
        e.setValue(0, 'E');
        gpsIfd.setEntry(new Integer(Exif.GPSLongitudeRef), 0, e);
        e = new Entry(Exif.RATIONAL);
        e.setValue(0, new Rational(87, 1));
        e.setValue(1, new Rational(40, 1));
        e.setValue(2, new Rational(30, 1));
        gpsIfd.setEntry(new Integer(Exif.GPSLongitude), 0, e);
        e = new Entry(Exif.BYTE);        e.setValue(0, new Integer(1)); // This picture is taken underwater :-)
                                       // Use 0 if it is taken above sea
                                       // level
        gpsIfd.setEntry(new Integer(Exif.GPSAltitudeRef), 0, e);
        e = new Entry(Exif.RATIONAL);
        e.setValue(0, new Rational(100, 1));
        gpsIfd.setEntry(new Integer(Exif.GPSAltitude), 0, e);        llj.refreshAppx(); // Recreate Marker Data for changes done        OutputStream out = new BufferedOutputStream(new FileOutputStream("c://w.jpg"));        // Transfer remaining of image to output with new header.
        llj.xferInfo(null, out, LLJTran.REPLACE, LLJTran.REPLACE);        fip.close();
        out.close();        llj.freeMemory();
    }
}