`
limingcai
  • 浏览: 110890 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring 生成pdf和 excel ,配置web.xml的正确配置

阅读更多
package com.execl;

import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.servlet.view.document.AbstractExcelView;


public class ViewExcel extends AbstractExcelView {

  public void buildExcelDocument(
             Map model, HSSFWorkbook workbook,
             HttpServletRequest request, HttpServletResponse response)
    throws Exception {
 
       HSSFSheet sheet = workbook.createSheet("list");
       sheet.setDefaultColumnWidth((short) 12);
      
      
       HSSFCell cell = getCell(sheet, 0, 0);
       setText(cell, "Spring Excel test");
 
       HSSFCellStyle dateStyle = workbook.createCellStyle();
       dateStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
       cell = getCell(sheet, 1, 0);
       cell.setCellValue(new Date());
       cell.setCellStyle(dateStyle);
       getCell(sheet, 2, 0).setCellValue(458);
 
       HSSFRow sheetRow = sheet.createRow(3);
       for (short i = 0; i < 10; i++) {
             sheetRow.createCell(i).setCellValue(i * 10);
       }


  }
 
}


//////////////
public class ViewPDF extends AbstractPdfView {
    @SuppressWarnings("unchecked")
public void buildPdfDocument(Map model, Document document,
            PdfWriter writer, HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        List list = (List) model.get("list");

        for (int i = 0; i < list.size(); i++)
            document.add(new Paragraph((String) list.get(i)));
    }

}



////////////////////
package com.Controller.examp;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import com.execl.ViewExcel;
import com.pdf.ViewPDF;


public class ViewController extends MultiActionController{
    
     @SuppressWarnings("unchecked")
public ModelAndView viewPDF(HttpServletRequest request, HttpServletResponse response) throws Exception {
       List list = new ArrayList();
       Map model=new HashMap();
       list.add("test1");
       list.add("test2");
       model.put("list",list);
       ViewPDF viewPDF=new ViewPDF();
       return new ModelAndView(viewPDF,model);
  }
    
      @SuppressWarnings("unchecked")
public ModelAndView viewExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
            List list = new ArrayList();
        Map model=new HashMap();
        list.add("test1");
        list.add("test2");
        model.put("list",list);
        ViewExcel viewExcel=new ViewExcel();
        return new ModelAndView(viewExcel,model);
      }
}


以下是 web.xml 配置   /////////////////


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
 
    <display-name>SprignExcelPdf</display-name> 
    <listener>
    <listener-class>
          org.springframework.web.context.ContextLoaderListener  
    </listener-class>
    </listener>

    <servlet> 
        <servlet-name>ViewController</servlet-name> 
        <servlet-class> 
            org.springframework.web.servlet.DispatcherServlet  
        </servlet-class> 
   </servlet> 
 
    <servlet-mapping> 
        <servlet-name>ViewController</servlet-name> 
        <url-pattern>*.shtml</url-pattern> 
    </servlet-mapping>
 
    <welcome-file-list> 
        <welcome-file>index.jsp</welcome-file> 
   </welcome-file-list> 

</web-app>

以下是 application.xml 配置   /////////////////

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="beanNameViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" />
       <bean id="viewController" class="com.Controller.examp.ViewController" />
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/view*.shtml">viewController</prop>
            </props>
        </property>
    </bean>
</beans>



每一个servlet对应一个<servlet>标记和一下<servlet-mapping> 如果web服务目录下有多个Servlet,可添加这些标记,
<servlet-name> 子标记表示Tomcat服务器创建Servlet对象的名字.
<url-pattern> 子标记表示通过url怎样访问该servlet.
当用户请求服务器运行一个servelet对象 时,需根据web.xml中<servlet-mapping>
标记指定的格式输入请求.
        <servlet-name>ViewController</servlet-name> 
        <url-pattern>/lookbook</url-pattern> 
像这样,只能 http://localhost:8080/example/lookbook  这样才能访问

里面的包自己导,刚开始的时候是 我是包导错了,搞了一天, 现在是    <listener>
    <listener-class>
          org.springframework.web.context.ContextLoaderListener  
    </listener-class>
    </listener>

这个东西刚开始没有加, 原来会报错,一直报文件找不到,NND网上找的不全,没有指出来,所以,加上这段,
ViewController-servlet.xml这个xml文件什么都没有,但是要建,如果没有的话,他会报找不到这个文件,搞不明白是什么。重新建这个后,
就没有问题了,一切到此结束,离下班还有3个小时。
分享到:
评论

相关推荐

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 ...

    Spring中文帮助文档

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    Spring API

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    Spring 2.0 开发参考手册

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    spring chm文档

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    web开发常用jar

    Hibernate使用dom4j解析XML配置文件和XML映射元文件。必需的。 ehcache-1.2.jar Hibernate可以使用不同cache缓存工具作为二级缓存。EHCache是缺省的cache缓存工具。如果没有其它的可选缓存工具,则为必需的。 ...

    Spring攻略(第二版 中文高清版).part1

    8.13 创建Excel和PDF视图 344 8.13.1 问题 344 8.13.2 解决方案 345 8.13.3 工作原理 345 8.14 小结 351 第9章 Spring REST 352 9.1 用Spring发布一个REST服务 352 9.1.1 问题 352 9.1.2 解决方案...

    Spring攻略(第二版 中文高清版).part2

    8.13 创建Excel和PDF视图 344 8.13.1 问题 344 8.13.2 解决方案 345 8.13.3 工作原理 345 8.14 小结 351 第9章 Spring REST 352 9.1 用Spring发布一个REST服务 352 9.1.1 问题 352 9.1.2 解决方案...

    java开发常用jar包

    Hibernate使用dom4j解析XML配置文件和XML映射元文件。必需的。 ehcache-1.2.jar Hibernate可以使用不同cache缓存工具作为二级缓存。EHCache是缺省的cache缓存工具。如果没有其它的可选缓存工具,则为必需的。 ...

    推荐6款常用的Java开源报表制作工具.pdf

    它为 Java 应用程序提供一个灵活的打印功能并支持输出到打印机和 PDF 、Excel 、HTML 和 XHTML 、PlainText 、XML 和 CSV 文件中。 JFreeReport 的主要特点: * 可以生成报表的 Java 类库 * 支持输出到多种文件...

Global site tag (gtag.js) - Google Analytics