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 配置   /////////////////



    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"> 
 
    SprignExcelPdf 
   
   
          org.springframework.web.context.ContextLoaderListener  
   

   


     
        ViewController 
         
            org.springframework.web.servlet.DispatcherServlet  
       
 
  
 
 
     
        ViewController 
        *.shtml 
   

 
     
        index.jsp 
  
 



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


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">

   
      
   
       
           
                viewController
           

       

   





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

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

   


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

你可能感兴趣的:(Web,XML,Excel,Spring,Servlet)