`
joyceyeah
  • 浏览: 8388 次
  • 性别: Icon_minigender_2
  • 来自: 福建
社区版块
存档分类
最新评论

struts2 从数据库中读取图片流文件,并显示到jsp

    博客分类:
  • JAVA
阅读更多
弹出保存路径:

js:

window.open(str,'blank_','scrollbars=no,resizable=no,width=10,height=10,menubar=no');

-------------------------

struts中:

//图片

response.setContentType("image/jpg"); 
      response.setHeader("Content-disposition",  
                        "attachment;filename=\"" + mail.getFileName() + "\";");  
      BufferedImage image = null;
         image=ImageIO.read(in);
         ServletOutputStream sos = response.getOutputStream();
         JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
         encoder.encode(image);
         in.close();



//excel

response.setContentType("application/vnd.ms-excel"); 
      response.setHeader("Content-disposition",  
                        "attachment;filename=\"" + mail.getFileName() + "\";");  
      OutputStream out = response.getOutputStream();  
      HSSFWorkbook wb =  new HSSFWorkbook();
         HSSFSheet s = wb.createSheet();
         int len = 0;
         byte[] buf = new byte[1];
      while((len = in.read(buf)) != -1)
      {
       out.write(buf, 0, len);
      }
         wb.write(out);
         out.close();
         return null;



---------------------------------------------------------------------------------------

将图片流从数控库取出,显示到JSP

//jpg

HttpServletResponse response = (HttpServletResponse)
    ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);

  byte[] buf = new byte[1];
            response.setContentType("image/jpeg");
            OutputStream os=response.getOutputStream();
            int len = 0;
          while((len = in.read(buf)) != -1)
          {
             os.write(buf, 0, len);
            }
            os.close();
            in.close();
            return null;



---jsp

<s:property value="response.getOutputStream()"/>



//text file



BufferedReader reader = new BufferedReader(new InputStreamReader(in));
          StringBuilder sb = new StringBuilder();   
          String line = null;   
                  
                   while ((line = reader.readLine()) != null)
                   {   
                    sb.append(line + "\n");   
                   }   
                   mail.setMessageBody(sb.toString());



//jsp

<s:property value="mailVO.messageBody"/>





--------------------------------------------------------------------------------------------------------------------------------



public class Test1
{

public static void main(String[] args)
{
//  attachmentEncryption();
  attachmentDecryption();
}

public static void attachmentEncryption()
{
  InputStream in = null;
  byte[] buf = new byte[100];
  int len = 0;
  BasicBinaryEncryptor encryptor = new BasicBinaryEncryptor();
  try
  {
   in = new FileInputStream(new File("D:\\file.txt"));
   encryptor.setPassword("test");
   byte[] myEncryptedBinary = encryptor.encrypt(InputStreamToByte(in));
   InputStream sbs = new ByteArrayInputStream(myEncryptedBinary);
  
   FileOutputStream os = new FileOutputStream(new File("D:\\temp.txt"));
   while((len = sbs.read(buf)) != -1)
   {
    os.write(buf, 0, len);
   }
   in.close();
   sbs.close();
   os.close();
  
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
}

public static void attachmentDecryption()
{
  InputStream in = null;
  FileOutputStream os = null;
  byte[] buf = new byte[100];
  int len = 0;
  BasicBinaryEncryptor encryptor = new BasicBinaryEncryptor();
  try
  {
   in = new FileInputStream(new File("D:\\temp.txt"));
   encryptor.setPassword("test");
   byte[] binary = encryptor.decrypt(InputStreamToByte(in));
   InputStream sbs = new ByteArrayInputStream(binary);
   os = new FileOutputStream(new File("D:\\result.txt"));
   while((len = sbs.read(buf)) != -1)
   {
    os.write(buf, 0, len);
   }
   in.close();
   sbs.close();
   os.close();
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
}

public static byte[] InputStreamToByte(InputStream iStrm) throws IOException
{
     ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
     int ch;
     while ((ch = iStrm.read()) != -1)
     {
        bytestream.write(ch);
     }
     byte imgdata[]=bytestream.toByteArray();
     bytestream.close();
     return imgdata;
}
public static void textEncryption()
{
  BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
  textEncryptor.setPassword("test");
  String myEncryptedText = textEncryptor.encrypt("this's a encrypted mail");
  System.out.println("encrypted text: "+myEncryptedText);
  String plainText = textEncryptor.decrypt(myEncryptedText);
  System.out.println("plain text: "+plainText);
}
}

分享到:
评论

相关推荐

    struts下上传图片到数据库并显示到页面实例

    在数据库中存储图片后,我们需要提供一个方法来从数据库中读取图片并显示在页面上。这可能涉及到创建一个新的Action或者在现有Action中添加一个新方法,该方法将查询数据库获取图片数据,并将其发送到响应。 ```...

    struts1上传图片,保存数据库,再显示jsp页面

    在“struts1上传图片,保存数据库,再显示jsp页面”这个场景中,我们将探讨如何利用Struts1实现文件上传,将图片数据保存到数据库,并在JSP页面上展示。 1. **Struts1的文件上传组件**: Struts1并不直接支持文件...

    struts2操作数据库

    1. **创建(Create)**:在Struts2中,你可以创建一个Action类,其中包含一个方法,该方法接收用户提交的数据,然后调用DAO或Service中的create()方法来插入新记录。例如,如果你有一个User实体,你可以创建一个`...

    struts2连接数据库实现用户登录.pdf

    文档中展示了Struts2的过滤器StrutsPrepareAndExecuteFilter的配置,该过滤器负责拦截请求并将其分发到Struts2框架进行处理。过滤器的配置确保了所有请求都会被Struts2框架处理。 3. Action类的编写 LoginAction类...

    struts2 实现oracle数据库的增删改查

    在本教程中,我们将深入探讨如何利用Struts2来实现对Oracle数据库的CRUD(创建、读取、更新和删除)操作。 首先,我们需要在项目中集成Struts2框架。这通常涉及到以下几个步骤: 1. 添加Struts2的核心库到项目的类...

    struts2数据库常用操作

    在例子中,`depDto`可能是一个包含用户信息的对象,用于存储从数据库查询到的数据,并传递给JSP页面显示。 7. **错误处理和消息传递** 示例代码中,如果登录失败,Action类会设置一个错误消息`msg`,并通过getter...

    使用Struts2上传图片存取到Mysql中并读取出来显示在页面上_好资源0分送

    本文将详细介绍如何利用Struts2框架结合Spring和Hibernate技术栈实现图片的上传、存储至MySQL数据库以及从数据库读取并在Web页面展示的功能。整个过程不涉及Servlet的操作。 #### 需求分析与实现目标 1. **图片...

    基于Struts2的数据库操作及简单分页

    查询可能包括从数据库中获取用户信息,并与提交的登录凭据进行比较。 分页是提高Web应用性能和用户体验的重要手段。在Struts2中,可以使用插件如DisplayTag或Struts2-Pagination来实现分页。这些插件提供了一系列...

    struts2+jdbc+jsp增删改查

    5. **Struts2与JSP的交互**:在Struts2中,Action执行完毕后会返回一个结果类型,该结果类型对应一个JSP页面。例如,一个名为"StudentAction"的Action可能会返回"success"结果,这将导致Struts2加载对应的success....

    struts2连接mysql数据库登录验证程序

    在Struts2中,可以创建一个LoginAction类,该类包含处理登录请求的方法。当用户提交登录表单时,这些方法会接收表单参数,调用Hibernate查询数据库,比对用户输入的凭证与数据库中的记录。 5. **拦截器...

    struts2+hibernate(文件批量上传至数据库+Ajax分页显示)

    总之,这个项目展示了如何将Struts2和Hibernate结合使用,以实现文件批量上传到数据库以及Ajax分页显示的功能。通过学习这个项目,开发者可以深入理解Java Web开发中的MVC模式、ORM框架以及前端动态加载技术。

    struts2上传图片到Oracle

    要从数据库中读取并显示图片,可以创建一个`displayImage` Action,查询相应的记录,然后将BLOB数据转换回InputStream,通过HTTP响应发送给客户端。需要注意的是,这通常不建议直接在网页上展示,因为可能会导致性能...

    struts2+jdbc增删改查

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web...通过这个项目,开发者可以学习到如何在Struts2框架下利用JDBC与数据库交互,同时掌握JSP页面和标签库的使用,从而提升对Java Web开发的理解。

    Struts 2 数据库操作

    在Struts 2中进行数据库操作是常见的需求,这通常涉及到CRUD(创建、读取、更新和删除)操作。CRUD是数据库应用的基础,通过它,开发者能够对数据库中的数据进行完整的生命周期管理。 在给出的例子中,虽然没有直接...

    连数据库的struts2例子

    在Struts2中,Action类是处理用户请求的核心组件。创建一个继承自`ActionSupport`的类,比如`UserAction`,并定义相应的业务方法,如`addUser()`和`queryUsers()`。在这些方法中,使用JDBC编写SQL语句,执行添加和...

    Struts2+Hibernate实现文件上传

    在这个“Struts2+Hibernate实现文件上传”的项目中,我们将探讨如何结合这两个框架来实现在Web应用中上传图片并存储到数据库的过程。 首先,让我们从Struts2的角度来看。Struts2提供了一种灵活的MVC(模型-视图-...

    struts2 + jsp 简单通讯录

    - **Action与结果映射**:在Struts2中,Action类处理用户的请求,执行业务逻辑,并通过配置文件或注解定义结果映射,决定请求完成后跳转到哪个页面。 - **拦截器**:拦截器是Struts2的核心组件,用于在Action执行...

    struts2_uploadify带进度条的多文件上传下载

    Struts2 Uploadify是一个在Java Web开发中常用的插件,它结合了Struts2框架和Uploadify jQuery插件,能够实现文件的多选、上传进度显示以及后台处理等功能。这个项目示例提供了一个完整的解决方案,使得用户在上传多...

    SSH文件上传保存到MySql数据库

    在这个特定的项目中,“SSH文件上传保存到Mysql数据库”指的是使用Struts2作为前端控制器,Spring作为依赖注入容器,以及Hibernate作为对象关系映射工具,实现文件上传功能并将数据存储到MySQL数据库的过程。...

    struts2文件下载实例

    - `execute()` 方法是Struts2中的核心方法,它执行数据库查询,调用 `fileremote.findAll()` 获取所有文件信息,并返回 "success",使得Struts2能够将结果传递给视图层。 2. **JSP页面展示**: - JSP页面使用了...

Global site tag (gtag.js) - Google Analytics