⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imageprovider.java

📁 一个小公司要求给写的很简单的任务管理系统。
💻 JAVA
字号:
/*
 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package ebay.server;

import java.io.StringReader;
import javax.xml.ws.WebServiceContext;
import java.io.ByteArrayInputStream;
import javax.xml.ws.Provider;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.WebServiceProvider;
import javax.xml.ws.Service;
import javax.xml.ws.ServiceMode;
import javax.xml.ws.handler.MessageContext;
import javax.annotation.Resource;
import javax.xml.ws.http.HTTPException;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
import javax.xml.ws.WebServiceException;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import javax.activation.DataHandler;
import javax.jws.HandlerChain;
import javax.activation.DataSource;
import java.io.OutputStream;
import javax.xml.ws.http.HTTPBinding;
import javax.xml.ws.BindingType;

@WebServiceProvider
@BindingType(HTTPBinding.HTTP_BINDING)
@ServiceMode(value=Service.Mode.MESSAGE)
public class ImageProvider implements Provider<DataSource> {

    @Resource
    protected WebServiceContext wsContext;

    public DataSource invoke(DataSource ds) {
        MessageContext mc = wsContext.getMessageContext();
        String method = (String)mc.get(MessageContext.HTTP_REQUEST_METHOD);
        if (method.equals("GET")) {
            return get(ds, mc);
		}
        HTTPException ex = new HTTPException(404);
        throw ex;
    }

  
    private DataSource get(DataSource source, MessageContext mc) {
        final String image;
        String path = (String)mc.get(MessageContext.PATH_INFO);
//        System.out.println("PathInfo = "+path);
        if (path != null && path.equals("/sun_blade_1000_h400px.jpg")) {
            image = "images/sun_blade_1000_h400px.jpg";
        }else if(path != null && path.equals("/Sun_Fire_E20K_Server.jpg")) {
            image = "images/Sun_Fire_E20K_Server.jpg";
        } else if (path != null && path.equals("/8d_2.JPG")) {
            image = "images/8d_2.JPG";
        } else {
            HTTPException ex = new HTTPException(404);
            throw ex;
        }
            return new DataSource() {
                                public InputStream getInputStream() {
                                        return this.getClass().getClassLoader().
getResourceAsStream(
                                                image);
                                }
                                public OutputStream getOutputStream() {
                                        return null;
                                }
                                public String getContentType() {
                                        return "image/jpeg";
                                }
                                public String getName() {
                                        return "";
                                }
                        };
        } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -