servlet 下载

本文详细介绍了如何在Struts2框架中利用Servlet接口实现响应操作,包括设置响应头、处理文件下载等关键步骤。通过实例演示了响应不同类型的数据(如文本、JSON和二进制流),并特别关注了文件下载时的编码问题和中文文件名的支持。

该文章还在完善.....

 

servlet 下载代码

 

//Struts2中获取 response 的一种方式
HttpServletResponse response=ServletActionContext.getResponse();
 if(in!=null){
    //设置响应头
    response.reset();  
    //这里很重要,响应页面是 response.setContentType("text/html;charset=utf-8");     
    //响应json是response.setContentType("text/json;charset=utf-8"); 	        	
    response.setContentType("application/octet-stream,charset=utf-8"); 
    String tmpName = new SimpleDateFormat("yyyyMMddHms").
                  format(new Date())+".xls";
    //中文名字的话则需要转码成"ISO8859-1"
    response.setHeader("Content-Disposition", "attachment;
                 filename=" + new String(tmpName.getBytes(), "ISO8859-1"));
    OutputStream  outputStream = 
                 new BufferedOutputStream (response.getOutputStream());
    byte[] by = new byte[1024];  
    int t = in.read(by,0,by.length); 
    while(t>0){   
    outputStream.write(by, 0, 1024);  
        t = in.read(by,0,by.length);  
    }
    in.close();
    outputStream.close(); 
}

 

 

 

### 关于Servlet下载资源与环境配置 #### 下载Servlet API及相关依赖 要使用Servlet技术开发Java Web应用程序,通常需要以下几个组件: 1. **JDK (Java Development Kit)** Servlet运行在基于Java的应用服务器上,因此首先需要安装JDK。可以从Oracle官方网站或其他可信源下载并安装适合操作系统的版本[^4]。 2. **Servlet容器(如Apache Tomcat)** Apache Tomcat是一个流行的开源Servlet容器,支持Servlet和JSP标准。可以到Tomcat官网下载最新稳定版,并按照官方文档完成安装和启动[^5]。 3. **IDE工具(推荐Eclipse或IntelliJ IDEA)** 使用集成开发环境可以帮助快速搭建项目结构以及简化部署过程。例如,在Eclipse中可以通过插件Marketplace轻松添加对Dynamic Web Project的支持[^6]。 #### 配置Servlet环境的具体步骤说明 以下是设置基本Servlet开发环境的关键要点: - 安装好所需的软件之后,需确保`JAVA_HOME`环境变量指向正确的JDK目录。 - 解压Tomcat压缩包至指定位置后,修改conf/server.xml文件来调整端口号等参数如果必要的话。 - 创建一个新的动态Web工程时,请确认其目标runtime已选为之前安装好的Tomcat实例。 - 编写自定义Servlet类继承HttpServlet基类并通过覆盖doGet/doPost方法实现具体逻辑功能[^7]。 下面给出一段简单的例子展示如何构建最基本的Servlet程序: ```java import java.io.*; import javax.servlet.http.*; public class ExampleServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter out = response.getWriter(); out.println("<html><body>"); out.println("<h1>Hello from Servlet!</h1>"); out.println("</body></html>"); } } ``` 最后记得将此Servlet注册进web应用描述符(web.xml),或者利用现代注解方式@WebServlet标注即可自动映射请求地址[^8]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值