<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 119, comments - 62, trackbacks - 0, articles - 0

    這是進(jìn)行上傳

    import?java.sql.*;
    import?java.io.*;
    import?java.util.*;
    import?javax.servlet.*;
    import?javax.servlet.http.*;
    import?com.jspsmart.upload.*;

    public?class?UpLoad?extends?HttpServlet?{

    ????private?ServletConfig?config;
    ????/**
    ?????*?Init?the?servlet
    ?????*/
    ????final?public?void?init(ServletConfig?config)?throws?ServletException?{
    ????????this.config?=?config;
    ????}

    ????final?public?ServletConfig?getServletConfig()?{
    ????????return?config;
    ????}

    ????public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{
    ????????doPost(request,?response);
    ????}

    ????public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{
    ????????System.out.println("============UpLoad?begin?ddd=============");
    ????????String?id?=?null;
    ????????SmartUpload?mySmartUpload?=?new?SmartUpload();
    ????????PrintWriter?out?=?response.getWriter();
    ????????java.io.File?file=null;
    ????????try?{
    ????????????Class.forName("oracle.jdbc.driver.OracleDriver");
    ????????}?catch?(java.lang.ClassNotFoundException?e)?{
    ????????????System.err.print("ClassNotFoundException:?"?+?e.getMessage());
    ????????}

    ????????try?{
    ????????????//Class.forName("oracle.jdbc.driver.OracleDriver");
    ????????????Connection?conn?=?DriverManager.getConnection("jdbc:oracle:thin:@10.216.0.2:1521:ORCL",?"test",?"test");

    ????????????conn.setAutoCommit(false);?//設(shè)置手動提交,以提高性能。
    ????????????Statement?stmt?=?conn.createStatement();
    ????????????//?Initialization
    ????????????mySmartUpload.initialize(config,?request,?response);

    ????????????mySmartUpload.setMaxFileSize(500?*?1024);

    ????????????//?Upload
    ????????????mySmartUpload.upload();

    ????????????//取得text框中的數(shù)據(jù)
    ????????????id?=?mySmartUpload.getRequest().getParameter("id");

    ????????????//取得文件和文件名
    ????????????com.jspsmart.upload.File?myFile?=?mySmartUpload.getFiles().getFile(0);
    ????????????String?fileName?=?myFile.getFileName();

    ????????????if?(!myFile.isMissing())?{
    ????????????????//save?data
    ????????????????myFile.saveAs(fileName,?mySmartUpload.SAVE_PHYSICAL);
    ????????????????System.out.println("============fileName="?+?fileName?+?"====");
    ????????????????file?=?new?java.io.File(fileName);

    ????????????????java.io.InputStream?inStream?=?new?java.io.FileInputStream(file);

    ????????????????int?fileSize?=?myFile.getSize();
    ????????????????byte[]?bytes?=?new?byte[fileSize];
    ????????????????System.out.println("============fileSize="?+?fileSize?+?"====");

    ????????????????//將數(shù)據(jù)插入到表中
    ????????????????String?strSql?=?"insert?into?test(id,name,content)?values(’"?+?id?+?"’,’"?+?fileName?+?"’,empty_blob())";
    ????????????????stmt.execute(strSql);

    ????????????????ResultSet?rs?=?stmt.executeQuery("select?content?from?zyw_test?where?id=’"?+?id?+?"’?for?update?");
    ????????????????if?(rs.next())?{
    ????????????????????oracle.sql.BLOB?blob?=?(?(oracle.jdbc.OracleResultSet)?rs).getBLOB("content");
    ????????????????????OutputStream?outStream?=?blob.getBinaryOutputStream();
    ????????????????????inStream.read(bytes);
    ????????????????????outStream.write(bytes);
    ????????????????????outStream.flush();
    ????????????????????stmt.execute("commit");
    ????????????????????outStream.close();
    ????????????????}
    ????????????????inStream.close();
    ????????????????stmt.close();

    ????????????????if(file!=null)//刪除文件
    ????????????????????file.delete();

    ????????????????out.println("upload?sucess");
    ????????????}?else?{
    ????????????????out.println("no?file");
    ????????????}
    ????????}?catch?(Exception?ex)?{
    ????????????if(file!=null)
    ????????????????file.delete();
    ????????????out.println("upload?fail");
    ????????????ex.printStackTrace();
    ????????}

    ????????System.out.println("============UpLoad?end=============");
    ????}
    }

    這是下載,進(jìn)行顯示圖片


    import?java.sql.*;
    import?java.io.*;
    import?java.util.*;
    import?javax.servlet.*;
    import?javax.servlet.http.*;

    public?class?DownLoad?extends?HttpServlet{
    ????public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)
    ????????throws?ServletException,?IOException?{
    ????????doPost(request,response);
    ????}
    ????public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)
    ????????throws?ServletException,?IOException?{
    ????????System.out.println("======DownLoad?begin=====");
    ????????try{
    ????????????Class.forName("oracle.jdbc.driver.OracleDriver");
    ????????????Connection?conn?=?DriverManager.getConnection("jdbc:oracle:thin:@10.216.0.2:1521:ORCL","test","test");
    ????????????Statement?stmt=conn.createStatement();
    ????????????String?id=request.getParameter("id");
    ????????????String?sql="SELECT?id,?name,?content?FROM?test?where?id=’"+id+"’";
    ????????????ResultSet?rs=stmt.executeQuery(sql);
    ????????????if(rs.next()){
    ????????????????Blob?blob?=?rs.getBlob("content");
    ????????????????byte[]?ab?=?blob.getBytes(1,?(int)blob.length());
    ????????????????response.setContentType("image/jpeg");
    ????????????????ServletOutputStream?op?=?response.getOutputStream();
    ????????????????op.write(ab);
    ????????????????op.flush();
    ????????????????op.close();
    ????????????}
    ????????}catch(Exception?ex){
    ????????????ex.printStackTrace();
    ????????}
    ????????System.out.println("======DownLoad?end=====");
    ????}
    }

    posted @ 2006-07-24 23:59 Kevin Meng 閱讀(826) | 評論 (0)編輯 收藏

    我們在寫OA的時候經(jīng)常遇到的問題就是員工圖片檔案的儲存問題,解決這個問題有兩個方法,

    1.JSP/html頁面里面讀取web服務(wù)器上的圖片,也就是把圖片放到(上傳)到web 服務(wù)器上,然后用html 語句讀取:

    <img src=" 絕對或相對路徑 " border="0" />

    2.就是上傳到數(shù)據(jù)庫里面(oracle).關(guān)于oracle 數(shù)據(jù)庫,它支持blob, 和clob, 分別對應(yīng)著圖片和文本(長字符串)操作

    由于性能原因,我們還是要采用第二種方法,而且存到數(shù)據(jù)庫里面比較容易管理,是吧?

    ?

    首先,我們要解決上傳問題,這里采用普遍使用的apache commons 組件里面的FileUpload class.

    具體步驟如:

    ?

    DiskFileUpload dfu=new DiskFileUpload();

    ? dfu.setSizeMax(100000000);

    ? dfu.setSizeThreshold(100000);

    ? dfu.setRepositoryPath("f:\\public");

    ?

    ? try{

    ? List fileItems=dfu.parseRequest(request);

    ? Iterator i=fileItems.iterator();

    ?

    ? while(i.hasNext()){

    ? FileItem fi=(FileItem)i.next();

    ? if(!fi.isFormField()){

    ? name=fi.getName();?????????? ?????????

    ? size=fi.getSize();????????????????????

    ? if((name==null||name.equals(""))&&size==0)

    ? continue;

    ??????????????????????? }

    ? name=fi.getName();

    ? size=fi.getSize();

    ? (InputStream)is=fi.getInputStream();

    ?

    ??????????????????? }

    ?????????????? ?????

    上面的代碼是web服務(wù)器接受上傳的代碼,參考文件已經(jīng)在我上篇寫的上傳文本文件里給出,今天,終于想明白了:

    dfu.setRepositoryPath("f:\\public"); 的意思

    原來是轉(zhuǎn)義字符也就是說\n\t等而要打印反斜杠要用\\,其實這個問題原先已經(jīng)知道,可是由于經(jīng)驗沒有寫過圖片上傳處理什么的,覺得很高深,也很可怕,哈哈,心里有點畏懼.看來基礎(chǔ)的東西,那怕一點點小細(xì)節(jié)也很重要,接著還有下面的java IO 問題.剛才讀core java 的時候突然發(fā)現(xiàn)在講io的時候特意提醒了這個問題,可是我沒有注意!

    ?

    通過上面的代碼已經(jīng)實現(xiàn)文件上傳了.然后,我們要實現(xiàn)JDBC數(shù)據(jù)源鏈接,目的是要把數(shù)據(jù)插入到oracle.

    ??????????????????

    ? Context ctx=new InitialContext();

    ? DataSource ds=(DataSource)ctx.lookup("jdbc/asdbCoreDS");

    ? conn=ds.getConnection();

    ? conn.setAutoCommit(false);

    關(guān)于要import java.sql.* javax.sql.* java.naming.* 不再詳細(xì)敘述了

    接著根據(jù)很有用的一篇文章的提示,插入blob類型一定要先1.插入一個空的

    ? String insert=" insert into uploadpicture "+

    ??????????????? " values(?, empty_blob()) "???? ;

    2.然后找到這個blob的oracle 里面的游標(biāo):

    String findCursor=" select content "+

    ??????????????????? " from uploadpicture "+

    ??????????????????? " where name=?? for update ";

    注意這個for update(注意!!!必須加for update,這將鎖定該行,直至該行被修改完畢,保證不產(chǎn)生并發(fā)沖突。這里還是難以理解,先記下來吧)

    3.然后再修改

    String update=" update uploadpicture? "+

    ??????????????? " set content=? "+

    ??????????????? " where name=? ";

    這里的問號是為PreparedStatement參數(shù)處理而寫的!

    ?

    寫這個程序用到了oracle.sql.BLOB class ,這個類是用來操作BLOB數(shù)據(jù)類型的

    當(dāng)我們通過ResultSet 對象得到

    blob=(BLOB)rs.getBlob(1);

    的時候我不知道如何處理了,Blob 是什么?String, int ,long? 我現(xiàn)在也不明白!估計CSDN上的人也不明白,否則我發(fā)個帖子半天沒有人回答,也許是很爛,也許是太簡單了,大家不屑一顧,看來我還要繼續(xù)追趕!

    不發(fā)牢騷了,回到程序里(總覺得自己的發(fā)散思維很強,看來寫程序的時候不能這樣,多虧java 是純面向?qū)ο笳Z言,如果是過程就麻煩了)

    我們?nèi)绾翁幚磉@個blob 呢?回答是,不管它是什么,直接寫入? BufferedOutputStream out1 =new BufferedOutputStream(blob.getBinaryOutputStream());

    這里是建立了緩沖寫如blob 的流(注意getBinaryOutputStream()已經(jīng)不被贊成使用了,一定有更優(yōu)秀的方法替代!),說到流,我到現(xiàn)在還有點暈,類很多,不知道究竟用哪個好!

    基礎(chǔ)的東西非常重要,這曾經(jīng)是我的口頭禪,這里用到了流的讀入寫和寫入,有些流是從文件或其它位置上讀取字節(jié)(如, FileInputStream),有寫流是把字節(jié)組合成有用的數(shù)據(jù)(如, DataInputStream).我們讀取數(shù)字的時候,需要首先建議一個FileInpuStream, 然后, 再把該類的對象傳遞給DataInputStream

    FileInputStream fin=new FileInputStream(“emp.dat”);

    DataInputStream din=new DataInputStream(fin);//把fin傳遞給din

    double s=din.readDouble();

    默認(rèn)情況下,流是沒有緩沖的, 如果使用緩沖就是

    DataInputStream din=new DataInputStream(

    new BufferedInputStream(new FileINputStream(“emp.dat”)));

    ?

    有了這點理解也很管用,

    ? BufferedOutputStream out1 =new BufferedOutputStream(blob.getBinaryOutputStream());

    就是建立一個緩沖寫的對象到blob.注意這里的out1 不是out,否則程序運行的時候不能打印了temp 數(shù)據(jù)了!

    已經(jīng)準(zhǔn)備好如何寫了, 可是如何讀呢?

    BufferedInputStream in=new BufferedInputStream(is);

    在我們上傳的時候? (InputStream)is=fi.getInputStream();

    讀取圖片為輸入的流.保存為is 對象,然后就用到這里了,準(zhǔn)備好了讀和寫了,我們開始干活:

    int c;

    ? while((c=in.read())!=-1) {out1.write(c);}

    ? in.close();

    ? out1.close();

    通過緩沖一個個讀數(shù)據(jù),然后一個個寫數(shù)據(jù).-1 為文件的末尾,

    最后當(dāng)讀寫完成后我們要關(guān)閉讀寫對象!

    程序分析就是這樣,以后還要對此問題進(jìn)行研究,最后還要注意,

    <%@ page contentType="image/jpeg;charset=GBK"%>

    不是

    <%@ page contentType="text/html;charset=GBK"%>

    否則是以文字顯示圖片---亂碼.

    ?

    這里研究了上傳圖片到oralce 里面的程序,關(guān)于顯示還要麻煩一點,借助資料我實現(xiàn)了,明天再研究一下.

    ?

    ?//插入上傳圖片到數(shù)據(jù)庫
    <%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.io.*"%>
    <%@ page import="org.apache.commons.*"%>
    <%@ page import="org.apache.commons.fileupload.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.sql.*"%>
    <%@ page import="javax.naming.*"%>
    <%@ page import="oracle.sql.*"%>
    <html>
    ?
    ?
    ? <head>
    ??? <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    ??? <title>getPicture.jsp</title>
    ? </head>
    ?
    ?
    ?
    ?
    ? <body>
    ?
    ? <%
    ? request.setCharacterEncoding("GBK");
    ???
    ?
    ? String name=null;
    ? long size=0;
    ?
    ? Connection conn=null;
    ? String insert=" insert into uploadpicture "+
    ??????????????? " values(?, empty_blob()) "???? ;
    ?
    ? String findCursor=" select content "+
    ??????????????????? " from uploadpicture "+
    ??????????????????? " where name=?? for update ";
    ?
    ? String update=" update uploadpicture? "+
    ??????????????? " set content=? "+
    ??????????????? " where name=? ";
    ? BLOB blob=null;
    ??? InputStream is=null;
    ?
    ? DiskFileUpload dfu=new DiskFileUpload();
    ? dfu.setSizeMax(100000000);
    ? dfu.setSizeThreshold(100000);
    ? dfu.setRepositoryPath("f:\\public");
    ?
    ? try{
    ? List fileItems=dfu.parseRequest(request);
    ? Iterator i=fileItems.iterator();
    ?
    ? while(i.hasNext()){
    ? FileItem fi=(FileItem)i.next();
    ? if(!fi.isFormField()){
    ? name=fi.getName();???????????????????
    ? size=fi.getSize();????????????????????
    ? if((name==null||name.equals(""))&&size==0)
    ? continue;
    ??????????????????????? }
    ? name=fi.getName();
    ? size=fi.getSize();
    ? is=fi.getInputStream();
    ?
    ??????????????????? }
    ???????????????????
    ? Context ctx=new InitialContext();
    ? DataSource ds=(DataSource)ctx.lookup("jdbc/asdbCoreDS");
    ? conn=ds.getConnection();
    ? conn.setAutoCommit(false);
    ?
    ? //step 1
    ? PreparedStatement ps=conn.prepareStatement(insert);
    ? ps.setString(1, name);
    ? int a=ps.executeUpdate();
    ? if(a>0)
    ? out.println("insert success!"+"<br>");
    ?
    ? //step 2
    ? ps=conn.prepareStatement(findCursor);
    ? ps.setString(1, name);?
    ? ResultSet rs=ps.executeQuery();
    ? while(rs.next())
    ? {
    ? blob=(BLOB)rs.getBlob(1);
    ?
    ?
    ?? out.println("find cursor success!"+"<br>");
    ?? out.println("cursor??????????? :"+blob+"<br>");
    ? //step 3
    ? ps=conn.prepareStatement(update);
    ? ps.setBlob(1, blob);
    ? ps.setString(2, name);
    ? ps.executeUpdate();
    ? ps.close();
    ? BufferedOutputStream out1 =new BufferedOutputStream(blob.getBinaryOutputStream());
    ? BufferedInputStream in=new BufferedInputStream(is);
    ? int c;
    ? while((c=in.read())!=-1) {out1.write(c);}
    ? in.close();
    ? out1.close();
    ? out.println("update success!"+"<br>");}
    ? conn.commit();
    ? }
    ?
    ? catch(SQLException se)
    ? {se.printStackTrace();}
    ? catch(FileUploadException fue)
    ? {fue.printStackTrace();}
    ? %>
    ?
    ?
    ? </body>

    </html>


    //顯示數(shù)據(jù)庫里面的圖片

    <%@ page contentType="image/jpeg;charset=GBK"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.sql.*"%>
    <%@ page import="javax.naming.*"%>
    <%@ page import="java.io.*"%>
    <%@ page import="com.sun.image.codec.jpeg.*"%>
    <%@ page import="javax.imageio.*"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.awt.image.*"%>


    <html>
    ?
    ?
    ?
    ? <head>
    ??? <meta http-equiv="Content-Type" content="image/jpeg; charset=GBK">
    ??? <title>showDBImage.jsp</title>
    ? </head>
    ?
    ?
    ?
    ? <body>
    ? <%
    ? String showImage=" select * "+
    ?????????????????? " from uploadpicture "+
    ?????????????????? " where name=′TXC with snow.JPG′ " ;
    ? Connection conn=null;
    ? BufferedInputStream inputImage=null;
    ?
    ?
    ? try{
    ? Context ctx=new InitialContext();
    ? DataSource ds=(DataSource)ctx.lookup("jdbc/asdbCoreDS");
    ? conn=ds.getConnection();
    ? Statement st=conn.createStatement();
    ? ResultSet rs=st.executeQuery(showImage);
    ? while(rs.next())
    ? {
    ? oracle.sql.BLOB blob=(oracle.sql.BLOB)rs.getBlob("content");
    ? inputImage =new BufferedInputStream(blob.getBinaryStream());
    ? /*String name=rs.getString(1);
    ? String content=rs.getString(2);
    ? out.println(name+"<br>");*/}
    ?
    ? BufferedImage image=null;
    ? image=ImageIO.read(inputImage);
    ?
    ? ServletOutputStream sos=response.getOutputStream();
    ? JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(sos);
    ? encoder.encode(image);
    ? inputImage.close();
    ? conn.commit();
    ?
    ? }
    ? catch(SQLException se)
    ? {se.printStackTrace();
    ? conn.rollback();? }
    ? catch(IOException ie)
    ? {ie.printStackTrace();}?
    ? %>
    ?
    ? </body>


    </html>

    posted @ 2006-07-21 16:41 Kevin Meng 閱讀(1227) | 評論 (0)編輯 收藏

    新建立一個名為vb6.exe.manifest的文件,用文本編輯器打開,輸入以下內(nèi)容:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
    ?? version="1.0.0.0"
    ?? processorArchitecture="X86"
    ?? name="Microsoft.VB6.VBnetStyles"
    ?? type="win32"
    />
    <description>VBnet Manifest for VB6 IDE</description>
    <dependency>
    ?? <dependentAssembly>
    ???? <assemblyIdentity
    ?????? type="win32"
    ?????? name="Microsoft.Windows.Common-Controls"
    ?????? version="6.0.0.0"
    ?????? processorArchitecture="X86"
    ?????? publicKeyToken="6595b64144ccf1df"
    ?????? language="*"
    ???? />
    ?? </dependentAssembly>
    </dependency>
    </assembly>
    然后把該文件放到與vb6.exe相同的目錄,啟動vb6.exe就可以了。

    posted @ 2006-06-15 13:46 Kevin Meng 閱讀(332) | 評論 (0)編輯 收藏

    內(nèi)容摘要
    在基于ArcIMS的Web GIS的應(yīng)用開發(fā)中,無論是通過HTML Viewer,還是ActiveX Connector 或者 Java Connector,我們經(jīng)常需要提供圓形選擇的工具,在地圖上任意選擇圓心和半徑,進(jìn)而查找位于該圓形區(qū)域內(nèi)的某個圖層內(nèi)的要素。在這種情況下,由于這個圓的圓心并不是來自某個點狀圖層的要素,而這個圓也不是由圖層中的點要素通過緩沖區(qū)生成,所以ArcIMS所提供的Buffer緩沖區(qū)功能無法直接調(diào)用,在這種情況下,我們可以采取其他的變通方式。
    過程描述
    在本文中,我們通過圓的內(nèi)接多邊形法來實現(xiàn)。原理就是根據(jù)提供的圓心位置和半徑,生成一個接近圓形的內(nèi)接48邊形,然后利用這個多邊形對象再結(jié)合Filter進(jìn)行空間查詢。當(dāng)然,內(nèi)接多邊形的邊數(shù)越多就越接近圓,查詢結(jié)果就越精確。示例代碼如下:

    //Java
    public Polygon createCirlePolygon(Point pnt,double dRadius){
    double sineTheta, cosineTheta, twoPi;
    int numPoints = 48; //內(nèi)接多邊形的邊數(shù)
    Polygon poly=new Polygon();
    Points pnts=new Points();
    twoPi = 3.1415 * 2.0;
    //構(gòu)造多邊形
    for(int i=0;i<numPoints;i++){
    Point cpt = new Point();
    sineTheta = Math.sin(twoPi * (i*1.0/ numPoints));
    cosineTheta = Math.cos(twoPi * (i*1.0 / numPoints));
    cpt.setX(pnt.getX() + dRadius * cosineTheta);
    cpt.setY(pnt.getY() + dRadius * sineTheta);
    pnts.addPointObject(cpt);
    }
    pnts.addPointObject(pnts.getPointObject(0));
    Ring ring=new Ring();
    ring.setPoints(pnts);
    poly.addRing(ring);
    return poly;
    }

    //ASP.NET
    public IMSPolygon createCirlePolygon(IMSPoint pnt,double dRadius)
    {
    IMSPolygon poly=new IMSPolygon();
    double sineTheta, cosineTheta, twoPi;
    int numPoints = 48; //內(nèi)接多邊形的邊數(shù)

    IMSPoints pnts=new IMSPoints();
    twoPi = 3.1415 * 2.0;

    //構(gòu)造多邊形
    for(int i=0;i<numPoints;i++)
    {
    IMSPoint cpt = new IMSPoint();
    sineTheta = Math.Sin(twoPi * (i*1.0/ numPoints));
    cosineTheta = Math.Cos(twoPi * (i*1.0 / numPoints));
    cpt.X=(pnt.X + dRadius * cosineTheta);
    cpt.Y=(pnt.Y + dRadius * sineTheta);
    pnts.Add(cpt);
    }
    pnts.Add(pnts[0]);
    IMSParts parts=new IMSParts();
    parts.Add(pnts);
    poly.Parts=parts;
    return poly;
    }

    posted @ 2006-06-08 09:59 Kevin Meng 閱讀(185) | 評論 (0)編輯 收藏

    在oracle中用prepareStatement時,如果SQL語句寫成:
    select distinct(mpfullname) from suzhou.menpaipoint where mpfullname like '%?%'
    運行時就會出現(xiàn)ORA-01006錯誤,解決辦法是把SQL語句改成:
    select distinct(mpfullname) from suzhou.menpaipoint where mpfullname like ?
    而用
    stmt.setObject(1, "%關(guān)鍵字%");
    來付值就可以了。

    posted @ 2006-06-05 15:50 Kevin Meng 閱讀(9261) | 評論 (3)編輯 收藏

    (1)安裝Subversion;
    (2)安裝TortoiseSVN;
    (3)新建一個儲存庫目錄,例如d:\svn\suzhou;
    (4)進(jìn)入d:\svn\suzhou,點擊鼠標(biāo)右鍵盤TortoiseSVN->create reposity here...會生成一大堆目錄和文件;
    (5)進(jìn)入d:\svn\suzhou\config,打開svnserve.conf文件,吧#password-db = passwd前面的"#"去掉;
    (6)進(jìn)入d:\svn\suzhou\config,打開passwd文件,添加新用戶如:
    ameng=ameng
    test=test
    (7)進(jìn)入DOS,運行命令:D:\Subversion\bin>svnserve -d -r d:\svn\suzhou,啟動服務(wù);也可以把這個命令寫成一個runservice.bat,每次運行一下這個文件就可以了。
    (8)在Eclipse中選中一個項目文件夾,如d:\eclipse3.1\workspace\suzhou,選擇TortoiseSVN->Import把這個項目導(dǎo)到svn中。此刻要求輸入用戶名和密碼,輸入ameng密碼ameng就可以了。

    (9)在另一臺機器上安裝TortoiseSVN,作為客戶端,安裝完后,新建立一個空的文件夾,如d:\eclispe3.1\workspace\suzhou,進(jìn)入該文件夾,點鼠標(biāo)右鍵,選擇SVN Checkout...,URL of? Repository為:svn://servername/svn/suzhou,點OK就可以下載數(shù)據(jù)了。

    其他內(nèi)容請看subversion和TortoiseSVN的幫助文檔

    posted @ 2006-06-04 13:17 Kevin Meng 閱讀(519) | 評論 (0)編輯 收藏

    以前作web開發(fā),從來不用關(guān)心界面設(shè)計,現(xiàn)在不一樣了,當(dāng)?shù)之?dāng)娘,玩起界面設(shè)計來了,談?wù)勑牡冒伞?br />作為面向用戶的窗口,站點的主界面是最重要的,主界面的好壞,直接決定著界面設(shè)計的成功與否。而且主界面的風(fēng)格決定著別的次要界面的風(fēng)格,只有主界面定下來以后,才有可能開發(fā)出別的次要界面。
    web界面設(shè)計要用到兩個關(guān)鍵的軟件,即Dreamwaever和大名鼎鼎的PS。
    建議看兩本書:《Dreamweaver MX 2004完全自學(xué)手冊》中國青年出版社 強力推薦
    ????????????????????????????《PS CS中文版基礎(chǔ)與應(yīng)用》海洋出版社 簡單,實用,便宜:) 當(dāng)然PS的書還有很多
    步驟
    (1)用PS 設(shè)計總的界面框架;
    (2)用PS的切片工具把圖片切割,然后選擇文件->儲存為web所用格式。PS幫我們生成一個*.html文件和一個images文件夾;
    (3)用Deamweaver打開PS生成的html文件,看到了沒有,PS已經(jīng)幫我們排版了!適當(dāng)修改一下,就OK了。
    (4)把html文件和images文件夾拷貝到網(wǎng)站下面就可以了。

    posted @ 2006-05-31 17:18 Kevin Meng 閱讀(402) | 評論 (1)編輯 收藏

    There are 5 predefined entity references in XML:

    &lt; < less than
    &gt; > greater than
    &amp; & ampersand?
    &apos; ' apostrophe
    &quot; " quotation mark

    Note: Only the characters "<" and "&" are strictly illegal in XML. Apostrophes, quotation marks and greater than signs are legal, but it is a good habit to replace them.

    posted @ 2006-05-24 14:48 Kevin Meng 閱讀(615) | 評論 (0)編輯 收藏

    Dreamweaver里有一個設(shè)置:把不安全的帶碼安全的過濾掉,所以,從2004開始就會有每個頁面的第一個代碼
    "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
    就是起過濾作用的,你把那句代碼刪掉就可以運行啦!

    posted @ 2006-05-23 16:41 Kevin Meng 閱讀(751) | 評論 (0)編輯 收藏

    在tomcat 5.5.9?,已經(jīng)沒有Catalina.bat了,所以不用在里面寫-Xms128m -Xmx512之類的了。只要運行tomcat5w.exe,在java選項里面設(shè)置inital menory pool和maximum memory pool就可以了。

    posted @ 2006-05-22 17:07 Kevin Meng 閱讀(235) | 評論 (0)編輯 收藏

    僅列出標(biāo)題
    共12頁: First 上一頁 4 5 6 7 8 9 10 11 12 下一頁 
    主站蜘蛛池模板: 四虎成人免费观看在线网址| 亚洲av永久无码精品网站| 丰满少妇作爱视频免费观看| 国产亚洲精品福利在线无卡一| 鲁丝片一区二区三区免费| 亚洲av永久无码嘿嘿嘿 | 国产亚洲精品高清在线| 性无码免费一区二区三区在线| 亚洲卡一卡二卡乱码新区| 亚洲午夜激情视频| 久久不见久久见免费视频7| 国产亚洲视频在线| 亚洲色偷偷偷网站色偷一区| 色www永久免费视频| 99久久人妻精品免费一区| 国产亚洲精品国产福利在线观看| 亚洲国产天堂在线观看| 日本成人免费在线| 最近2019年免费中文字幕高清| 黄页网站在线免费观看| 亚洲成aⅴ人在线观看| 亚洲无码日韩精品第一页| 毛片大全免费观看| 久久成人免费大片| 无码日韩人妻AV一区免费l| 亚洲黄页网在线观看| 亚洲AV无码一区二区二三区软件 | 91大神亚洲影视在线| 亚洲国产日韩在线观频| 成全影视免费观看大全二| 无码av免费一区二区三区试看| 免费人成视频在线播放| 亚洲丰满熟女一区二区v| 亚洲av无码一区二区三区乱子伦| 免费大黄网站在线看| 天天干在线免费视频| 1000部国产成人免费视频| 两个人看www免费视频| 免费在线观看自拍性爱视频| 亚洲色精品VR一区区三区| 亚洲成人黄色在线|