`
xushaoxun
  • 浏览: 52812 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

ImageServlet

    博客分类:
  • java
阅读更多

public class ImageServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //get the image parameter
        String img = req.getParameter("img");
        if(img == null) {
            throw new RuntimeException("You must sepcify a img");
        }
       
        // Get the absolute path of the image
        ServletContext sc = getServletContext();
        String filename = sc.getRealPath(img);    //relative to /WebContent
   
        // Get the MIME type of the image
        String mimeType = sc.getMimeType(filename);
        if (mimeType == null) {
            sc.log("Could not get MIME type of "+filename);
            resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            return;
        }
   
        // Set content type
        resp.setContentType(mimeType);
   
        // Set content size
        File file = new File(filename);
        resp.setContentLength((int)file.length());
   
        // Open the file and output streams
        FileInputStream in = new FileInputStream(file);
        OutputStream out = resp.getOutputStream();
   
        // Copy the contents of the file to the output stream
        byte[] buf = new byte[1024];
        int count = 0;
        while ((count = in.read(buf)) >= 0) {
            out.write(buf, 0, count);
        }
        in.close();
        out.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
            IOException {
        doGet(req, resp);
    }
}

使用

<img src="imageServlet?img=/path/to/image.jpg"/>

分享到:
评论

相关推荐

    ImageServlet_图片_

    这里我们关注的是一个名为"ImageServlet"的Java后台处理程序,它是专门用于处理图片上传的。使用MyEclipse作为开发工具,意味着开发人员利用了这款强大的集成开发环境来编写、调试和部署Java应用程序。 **Java ...

    java 验证码

    `ImageServlet`可能是处理验证码图像请求的Servlet,它会根据`RandomValidateCode`生成的字符串绘制一个图像,包括扭曲线条、噪点等干扰元素,使得人类可以轻松识别但机器难以解析。 接下来,`jsp.html`可能是一个...

    简单的图片服务器

    例如,我们可以创建一个名为`ImageServlet`的类,它解析请求URL中的图片ID,然后从服务器的指定目录加载相应的图片。 ```java public class ImageServlet extends HttpServlet { protected void doGet...

    图片验证的SERVLET

    &lt;servlet&gt;&lt;br/&gt; &lt;servlet-name&gt;checkimage&lt;/servlet-name&gt;&lt;br/&gt; &lt;servlet-class&gt;com.flt.util.ImageServlet&lt;/servlet-class&gt; &lt;init-param&gt;&lt;br/&gt; &lt;param-name&gt;width&lt;/param-name&gt;&lt;br/&gt; &lt;param-value&gt;60...

    Jcaptcha(java验证码生成框架)使用说明(原创)

    在页面中,直接使用 `&lt;img src="imageServlet"&gt;`,在 src 中填写前面创建的 servlet 的 URL,即可显示出验证码图像,最后,可以通过一下代码,来验证用户输入的验证码是否正确: ```java // 仅通过 2 行调用 Captcha...

    JSF動態圖片顯示1

    `ImageServlet`是一个专门处理图片请求的Servlet,它负责读取图片并将其发送到客户端。在`doGet`方法中,Servlet接收四个参数:`showImgKey`、`fileName`、`contentType`和`fileExt`。`showImgKey`是一个安全检查码...

    使用JasperReport输出image图像

    在寻找如何将报表直接转换为图像的过程中,开发者考虑了JasperReport自带的`ImageServlet`类,但发现该类只能提取jasper文件中的特定图像,而无法将整个报表输出为图像。 接着,开发者转向了`JRGraphics2DExporter`...

    JSP彩色验证码的实现

    public class ImageServlet extends HttpServlet { // ... } ``` ##### 3. 设置图像尺寸 在类中定义了图像的宽度和高度,并在`service`方法中初始化了一个`BufferedImage`对象,用以存储生成的彩色验证码图片。 ...

    Servlet图片验证码

    首先,我们创建了一个名为`ImageServlet`的类,它继承自`HttpServlet`。`HttpServlet`是处理HTTP请求的基础类,提供了`doGet`和`doPost`方法来处理HTTP的GET和POST请求。在这个例子中,`doGet`方法调用了`doPost`,...

    Flex调用JavaServlet将组件快照导出成图片

    而"ImageServlet.rar"则可能包含JavaServlet的源代码和部署所需的依赖。 通过这种方式,Flex与JavaServlet的集成使得我们能够跨平台地处理图像数据,将Flex应用程序的组件快照导出为实际的图片文件。这种技术在需要...

    java生成图片验证码

    2. ImageServlet.java:这是一个Servlet类,它处理HTTP请求,调用`ValidateCodeImageCodeMade`类的方法生成验证码,然后将生成的图像以流的形式响应给客户端。Servlet需要配置在web.xml中,以监听特定的URL路径,当...

    通过AJAX监控文件上传进度

    sendGetDictate(req, "/manager/servlet/imageservlet?tag=ajaxuploadfilecheck&WARE_ID=609187669&nocache=" + Math.random(), "name=111"); } ``` 4. **处理服务器响应**: - 当服务器返回数据时,根据返回的...

    IReport与JasperReport开发报表经验总结

    request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint); ``` 这样做的好处是在后续请求中可以访问该`JasperPrint`对象,从而正确显示图像。 #### 5. IReport ...

    开发网上购物中用到的ajax,随机图片的产生等技术的总结

    &lt;servlet-class&gt;org.whatisjava.dang.util.ImageServlet &lt;servlet-name&gt;image &lt;url-pattern&gt;/jsp/image ``` 这样就可以通过URL `http://localhost:8080/web/jsp/image.do` 访问到验证码图片了。 #### 4. ...

    java_图片验证码生成

    &lt;servlet-name&gt;ImageServlet &lt;servlet-class&gt;com.mobile.control.ImageServlet&lt;/servlet-class&gt; &lt;servlet-name&gt;ImageServlet &lt;url-pattern&gt;/servlet/ImageServlet &lt;/servlet-mapping&gt;

    jsp实现servlet验证码

    服务器端servet验证码: Servlet验证码(随机生成字母+数字+背景的6位验证码) jsp文件引用: &lt;img src="ImageServlet" onclick="javascript:this.src='ImageServlet?id='+ Math.random();" alt="换一个"&gt;

    java servlet做的验证码

    servlet做的验证码,在&lt;img src="ImageServlet" /&gt;填写servlet类名就能显示出来

    ImageServer_b:一个学习java servlet的demo

    例如,所有关于图片的请求可能会被映射到名为`ImageServlet`的类。 2. **Servlet类**:`ImageServlet`会继承`HttpServlet`类,并重写`doGet`或`doPost`方法,以处理HTTP请求。在这里,它可能会解析请求参数,根据...

    jsp下显示中文文件名及绝对路径下的图片解决方法

    只需将`"servlet地址"`替换为部署在服务器上的ImageServlet的访问路径。 总结起来,要解决JSP显示中文文件名的图片问题,可以通过调整Tomcat的`URIEncoding`属性或在JSP中进行URL编码。若需显示服务器上的绝对路径...

Global site tag (gtag.js) - Google Analytics