弹出保存路径:
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);
}
}
分享到:
相关推荐
在数据库中存储图片后,我们需要提供一个方法来从数据库中读取图片并显示在页面上。这可能涉及到创建一个新的Action或者在现有Action中添加一个新方法,该方法将查询数据库获取图片数据,并将其发送到响应。 ```...
在“struts1上传图片,保存数据库,再显示jsp页面”这个场景中,我们将探讨如何利用Struts1实现文件上传,将图片数据保存到数据库,并在JSP页面上展示。 1. **Struts1的文件上传组件**: Struts1并不直接支持文件...
1. **创建(Create)**:在Struts2中,你可以创建一个Action类,其中包含一个方法,该方法接收用户提交的数据,然后调用DAO或Service中的create()方法来插入新记录。例如,如果你有一个User实体,你可以创建一个`...
文档中展示了Struts2的过滤器StrutsPrepareAndExecuteFilter的配置,该过滤器负责拦截请求并将其分发到Struts2框架进行处理。过滤器的配置确保了所有请求都会被Struts2框架处理。 3. Action类的编写 LoginAction类...
在本教程中,我们将深入探讨如何利用Struts2来实现对Oracle数据库的CRUD(创建、读取、更新和删除)操作。 首先,我们需要在项目中集成Struts2框架。这通常涉及到以下几个步骤: 1. 添加Struts2的核心库到项目的类...
在例子中,`depDto`可能是一个包含用户信息的对象,用于存储从数据库查询到的数据,并传递给JSP页面显示。 7. **错误处理和消息传递** 示例代码中,如果登录失败,Action类会设置一个错误消息`msg`,并通过getter...
本文将详细介绍如何利用Struts2框架结合Spring和Hibernate技术栈实现图片的上传、存储至MySQL数据库以及从数据库读取并在Web页面展示的功能。整个过程不涉及Servlet的操作。 #### 需求分析与实现目标 1. **图片...
查询可能包括从数据库中获取用户信息,并与提交的登录凭据进行比较。 分页是提高Web应用性能和用户体验的重要手段。在Struts2中,可以使用插件如DisplayTag或Struts2-Pagination来实现分页。这些插件提供了一系列...
5. **Struts2与JSP的交互**:在Struts2中,Action执行完毕后会返回一个结果类型,该结果类型对应一个JSP页面。例如,一个名为"StudentAction"的Action可能会返回"success"结果,这将导致Struts2加载对应的success....
在Struts2中,可以创建一个LoginAction类,该类包含处理登录请求的方法。当用户提交登录表单时,这些方法会接收表单参数,调用Hibernate查询数据库,比对用户输入的凭证与数据库中的记录。 5. **拦截器...
总之,这个项目展示了如何将Struts2和Hibernate结合使用,以实现文件批量上传到数据库以及Ajax分页显示的功能。通过学习这个项目,开发者可以深入理解Java Web开发中的MVC模式、ORM框架以及前端动态加载技术。
要从数据库中读取并显示图片,可以创建一个`displayImage` Action,查询相应的记录,然后将BLOB数据转换回InputStream,通过HTTP响应发送给客户端。需要注意的是,这通常不建议直接在网页上展示,因为可能会导致性能...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web...通过这个项目,开发者可以学习到如何在Struts2框架下利用JDBC与数据库交互,同时掌握JSP页面和标签库的使用,从而提升对Java Web开发的理解。
在Struts 2中进行数据库操作是常见的需求,这通常涉及到CRUD(创建、读取、更新和删除)操作。CRUD是数据库应用的基础,通过它,开发者能够对数据库中的数据进行完整的生命周期管理。 在给出的例子中,虽然没有直接...
在Struts2中,Action类是处理用户请求的核心组件。创建一个继承自`ActionSupport`的类,比如`UserAction`,并定义相应的业务方法,如`addUser()`和`queryUsers()`。在这些方法中,使用JDBC编写SQL语句,执行添加和...
在这个“Struts2+Hibernate实现文件上传”的项目中,我们将探讨如何结合这两个框架来实现在Web应用中上传图片并存储到数据库的过程。 首先,让我们从Struts2的角度来看。Struts2提供了一种灵活的MVC(模型-视图-...
- **Action与结果映射**:在Struts2中,Action类处理用户的请求,执行业务逻辑,并通过配置文件或注解定义结果映射,决定请求完成后跳转到哪个页面。 - **拦截器**:拦截器是Struts2的核心组件,用于在Action执行...
Struts2 Uploadify是一个在Java Web开发中常用的插件,它结合了Struts2框架和Uploadify jQuery插件,能够实现文件的多选、上传进度显示以及后台处理等功能。这个项目示例提供了一个完整的解决方案,使得用户在上传多...
在这个特定的项目中,“SSH文件上传保存到Mysql数据库”指的是使用Struts2作为前端控制器,Spring作为依赖注入容器,以及Hibernate作为对象关系映射工具,实现文件上传功能并将数据存储到MySQL数据库的过程。...
- `execute()` 方法是Struts2中的核心方法,它执行数据库查询,调用 `fileremote.findAll()` 获取所有文件信息,并返回 "success",使得Struts2能够将结果传递给视图层。 2. **JSP页面展示**: - JSP页面使用了...