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

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

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

    俊星的BLOG

    APACHE Geronimo 試用之JDBC

    1、通過控制臺創(chuàng)建相應(yīng)的數(shù)據(jù)庫,PICTURES表以及數(shù)據(jù)庫連接池:
    其中表的創(chuàng)建語句如下:
    create table pictures(name varchar(32not null primary key, pic blob(16M));
    更多具體內(nèi)容請參考:http://cwiki.apache.org/GMOxDOC21/web-application-for-jdbc-access.html

    2、實現(xiàn)圖片上傳:
    package jdbc;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import javax.annotation.Resource;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.sql.DataSource;

    public class ImageUpload extends javax.servlet.http.HttpServlet implements
            javax.servlet.Servlet 
    {
        @Resource(name 
    = "jdbc/usersds")
        
    private DataSource ds;
        
    static final long serialVersionUID = 1L;

        
    public ImageUpload() {
            
    super();
        }


        
    protected void doGet(HttpServletRequest request,
                HttpServletResponse response) 
    throws ServletException, IOException {
            doProcess(request, response);
        }


        
    protected void doProcess(HttpServletRequest request,
                HttpServletResponse response) 
    throws ServletException, IOException {
            Connection dbconnect 
    = null;
            PreparedStatement stmnt 
    = null;
            String pic 
    = request.getParameter("ImageLoc");
            String name 
    = request.getParameter("ImageName");
            
    try {
                File f 
    = new File(pic);
                FileInputStream fis 
    = new FileInputStream(f);
                dbconnect 
    = ds.getConnection();
                stmnt 
    = dbconnect.prepareStatement("INSERT INTO PICTURES ("
                        
    + "NAME," + "PIC )" + " VALUES(?,?)");
                stmnt.setString(
    1, name);
                stmnt.setBinaryStream(
    2, fis, (int) f.length());
                stmnt.execute();
                PrintWriter out 
    = response.getWriter();
                out.println(
    "<html>");
                out.println(
    "<body>");
                out
                        .println(
    "Congratulations your image has been successfully uploaded");
                String html 
    = "<a href='/WebJDBC/ImageDownload?ImageName=" + name
                        
    + ">view the image</a>";
                out.println(html);
                out.println(
    "</body>");
                out.println(
    "</html>");

            }
     catch (Exception e) {
                e.printStackTrace();
            }
     finally {
                
    try {
                    dbconnect.close();
                    stmnt.close();
                }
     catch (SQLException e) {
                    e.printStackTrace();
                }

            }

        }


        
    protected void doPost(HttpServletRequest request,
                HttpServletResponse response) 
    throws ServletException, IOException {
            doProcess(request, response);
        }

    }

    3、實現(xiàn)圖片下載:
    package jdbc;

    import java.io.IOException;
    import java.io.OutputStream;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;

    import javax.annotation.Resource;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.sql.DataSource;

    public class ImageDownload extends javax.servlet.http.HttpServlet implements
            javax.servlet.Servlet 
    {
        @Resource(name 
    = "jdbc/usersds")
        
    private DataSource ds;
        
    static final long serialVersionUID = 1L;

        
    public ImageDownload() {
            
    super();
        }


        
    protected void doGet(HttpServletRequest request,
                HttpServletResponse response) 
    throws ServletException, IOException {
            doProcess(request, response);
        }


        
    protected void doProcess(HttpServletRequest request,
                HttpServletResponse response) 
    throws ServletException, IOException {
            Connection dbconnect 
    = null;
            ResultSet rs 
    = null;
            PreparedStatement stmnt 
    = null;
            
    try {
                dbconnect 
    = ds.getConnection();
                String s 
    = request.getParameter("ImageName");
                stmnt 
    = dbconnect
                        .prepareStatement(
    "SELECT PIC FROM PICTURES WHERE NAME=?");
                stmnt.setString(
    1, s);
                rs 
    = stmnt.executeQuery();
                
    if (rs.next()) {
                    
    // Get as a BLOB
                    Blob aBlob = rs.getBlob(1);
                    
    byte[] b = new byte[4096];
                    java.io.InputStream ip 
    = aBlob.getBinaryStream();
                    OutputStream out 
    = null;
                    
    int c = 0;
                    out 
    = response.getOutputStream();
                    response.setContentType(
    "image/jpeg");
                    
    while (c != -1{
                        c 
    = ip.read(b);
                        out.write(b);
                        out.flush();
                    }

                    ip.close();

                }


            }
     catch (Exception e) {
                e.printStackTrace();
            }
     finally {
                
    try {
                    dbconnect.close();
                    stmnt.close();
                    rs.close();
                }
     catch (SQLException e) {
                    e.printStackTrace();
                }

            }


        }


        
    protected void doPost(HttpServletRequest request,
                HttpServletResponse response) 
    throws ServletException, IOException {
            doProcess(request, response);
        }

    }

    4、圖片上傳JSP頁面:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding
    ="ISO-8859-1"
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Image Upload</title>
    </head>
    <body>
    <h2>Select a Image and Upload it</h2>
    <form action="/WebJDBC/ImageUpload">
    <table>
        
    <tr>
            
    <td>Location of the Image(full path)</td>
            
    <td><Input type="text" name="ImageLoc"></td>
        
    </tr>
        
    <tr>
            
    <td>Name of the Image(Unique Name)</td>
            
    <td><Input type="text" name="ImageName"></td>
        
    </tr>
        
    <tr>
            
    <td><Input type="submit" value="submit"></td>
        
    <tr>
    </table>
    </form>
    </body>
    </html>

    5、圖片下載JSP頁面:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding
    ="ISO-8859-1"
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Download Image</title>
    </head>
    <body>
    <h2>Name a Image to download</h2>
    <form action="/WebJDBC/ImageDownload">
    <table>
    <tr>
    <td>
    Name of the Image
    </td>
    <td>
    <Input type="text" name="ImageName">
    </td>
    </tr>
    <tr>
    <td>
    <Input type="submit" value="submit">
    </td>
    <tr>
    </table>
    </form>
    </body>
    </html>

    6、geronimo-web.xml的配置:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"
        xmlns:nam
    ="http://geronimo.apache.org/xml/ns/naming-1.2" 
        xmlns:sec
    ="http://geronimo.apache.org/xml/ns/security-2.0"
        xmlns:sys
    ="http://geronimo.apache.org/xml/ns/deployment-1.2">
        
    <sys:environment>
            
    <sys:moduleId>
                
    <sys:groupId>default</sys:groupId>
                
    <sys:artifactId>WebJDBC</sys:artifactId>
                
    <sys:version>1.0</sys:version>
                
    <sys:type>car</sys:type>
            
    </sys:moduleId>
            
    <sys:dependencies>
                
    <sys:dependency>
                    
    <sys:groupId>console.dbpool</sys:groupId>
                    
    <sys:artifactId>jdbc_usersds</sys:artifactId>
                
    </sys:dependency>
            
    </sys:dependencies>
        
    </sys:environment>
        
    <context-root>/WebJDBC</context-root>
        
    <nam:resource-ref>
            
    <nam:ref-name>jdbc/usersds</nam:ref-name>
            
    <nam:pattern>
                
    <nam:groupId>console.dbpool</nam:groupId>
                
    <nam:artifactId>jdbc_usersds</nam:artifactId>
                
    <nam:name>jdbc/usersds</nam:name>
            
    </nam:pattern>
        
    </nam:resource-ref>
    </web-app>

    7、WEB.XML文件的配置:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns
    ="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        id
    ="WebApp_ID" version="2.5">
        
    <display-name>WebJDBC</display-name>
        
    <welcome-file-list>
            
    <welcome-file>index.jsp</welcome-file>
        
    </welcome-file-list>
        
    <servlet>
            
    <description></description>
            
    <display-name>ImageUpload</display-name>
            
    <servlet-name>ImageUpload</servlet-name>
            
    <servlet-class>jdbc.ImageUpload</servlet-class>
        
    </servlet>
        
    <servlet>
            
    <description></description>
            
    <display-name>ImageDownload</display-name>
            
    <servlet-name>ImageDownload</servlet-name>
            
    <servlet-class>jdbc.ImageDownload</servlet-class>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>ImageUpload</servlet-name>
            
    <url-pattern>/ImageUpload</url-pattern>
        
    </servlet-mapping>
        
    <servlet-mapping>
            
    <servlet-name>ImageDownload</servlet-name>
            
    <url-pattern>/ImageDownload</url-pattern>
        
    </servlet-mapping>
    </web-app>

    8、發(fā)布及測試:
    將應(yīng)用打包成WebJDBC.war,發(fā)布之后通過訪問http://localhost:8080/WebJDBC/即可看到程序運行效果,附件請點擊此處下載http://www.tkk7.com/Files/kinkding/WebJDBC.rar

    posted on 2009-05-12 21:53 俊星 閱讀(168) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 久久国产色AV免费观看| 最近免费最新高清中文字幕韩国 | 免费人成视频在线观看网站| 亚洲伊人tv综合网色| 免费做爰猛烈吃奶摸视频在线观看 | 成年在线观看免费人视频草莓| 美女的胸又黄又www网站免费| 亚洲精品国产成人片| 成熟女人牲交片免费观看视频| 中文日本免费高清| 91在线亚洲综合在线| 亚洲综合伊人久久综合| 久久久久久久久免费看无码 | 免费看美女被靠到爽| 在线观看免费无码专区| 亚洲Av永久无码精品黑人 | ww亚洲ww在线观看国产| 国产亚洲精午夜久久久久久| 午夜国产精品免费观看| 国产在线国偷精品免费看| 一本天堂ⅴ无码亚洲道久久| 亚洲日韩精品无码一区二区三区| 成年轻人网站色免费看| 美丽姑娘免费观看在线观看中文版 | 久久精品国产亚洲av品善| 亚洲视频在线观看免费| 亚洲精品和日本精品| 最新中文字幕免费视频| 99视频免费播放| 久久久久久久国产免费看| 亚洲AV无码精品国产成人| 亚洲国产精品网站久久| 亚洲人成影院在线无码按摩店| 国产又黄又爽又刺激的免费网址 | 成年性生交大片免费看| 三年片在线观看免费大全电影| 一级一片免费视频播放| 激情无码亚洲一区二区三区 | 日本无吗免费一二区| h在线观看视频免费网站| 久操视频免费观看|