首页 > 代码库 > 数据用pdf和world显示和保存
数据用pdf和world显示和保存
数据用pdf和world显示和保存
package dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class BaseDao { private static String driver = "com.mysql.jdbc.Driver";// 数据库驱动字符串 private static String url = "jdbc:mysql://localhost/db_myprofile?user=root&password=root";// 连接URL private static String user = "root"; // 数据库用户名 private static String password = "123456"; // 用户密码 /** * 获取数据库连接对象。 */ public static Connection getConnection() { Connection conn = null;// 数据连接对象 // 获取连接并捕获异常 try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace();// 异常处理 } return conn;// 返回连接对象 } /** * 关闭数据库连接。 * * @param conn 数据库连接 * @param stmt Statement 对象 * @param rs 结果集 */ public static void closeAll(Connection conn, Statement stmt, ResultSet rs) { // 若结果集对象不为空,则关闭 if (rs != null) { try { rs.close(); } catch (Exception e) { e.printStackTrace(); } } // 若Statement 对象不为空,则关闭 if (stmt != null) { try { stmt.close(); } catch (Exception e) { e.printStackTrace(); } } // 若数据库连接对象不为空,则关闭 if (conn != null) { try { conn.close(); } catch (Exception e) { e.printStackTrace(); } } }}==========================================package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import entity.Profile;public class ProfileDao extends BaseDao{ public List<Profile> getAll(){ Connection connection = getConnection(); //获取数据库连接 PreparedStatement pstmt = null; ResultSet rs = null; String sql = "select * from profile"; List<Profile> profileList = new ArrayList<Profile>(); //个人档案列表 try { pstmt = connection.prepareStatement(sql); rs = pstmt.executeQuery(); // 执行此sql语句 while (rs.next()) { //遍历数据,存入profileList中 Profile profile = new Profile(); profile.setId(rs.getInt("id")); profile.setName(rs.getString("name")); profile.setBirthday(rs.getString("birthday")); profile.setGender(rs.getString("gender")); profile.setCareer(rs.getString("career")); profile.setAddress(rs.getString("address")); profile.setMobile(rs.getString("mobile")); profileList.add(profile); } } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(connection, pstmt, rs); // 关闭此连接 } return profileList; } /* * 更新档案 */ public void updateProfile(Profile profile){ Connection connection = null; PreparedStatement pstmt = null; String sql = "update profile " + "set name=?,birthday=?,gender=?,career=?,address=?,mobile=? where id=" + profile.getId(); try{ connection = BaseDao.getConnection(); // 获得连接 pstmt = connection.prepareStatement(sql); pstmt.setString(1, profile.getName()); //名称 pstmt.setString(2, profile.getBirthday()); //生日 pstmt.setString(3, profile.getGender()); //性别 pstmt.setString(4, profile.getCareer()); //职业 pstmt.setString(5, profile.getAddress()); //地点 pstmt.setString(6, profile.getMobile()); //电话 pstmt.execute(); }catch(SQLException e){ e.printStackTrace(); }finally{ closeAll(connection, pstmt, null); // 关闭此连接 } } /** * 获得指定id的档案 * @param id * @return */ public Profile getProfile(int id){ Connection connection = getConnection(); //获取数据库连接 PreparedStatement pstmt = null; ResultSet rs = null; String sql = "select * from profile where id=" + id; Profile profile = new Profile(); try { pstmt = connection.prepareStatement(sql); rs = pstmt.executeQuery(); // 执行此sql语句 while (rs.next()) { //遍历数据,存入profileList中 profile.setId(rs.getInt("id")); profile.setName(rs.getString("name")); profile.setBirthday(rs.getString("birthday")); profile.setGender(rs.getString("gender")); profile.setCareer(rs.getString("career")); profile.setAddress(rs.getString("address")); profile.setMobile(rs.getString("mobile")); } } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(connection, pstmt, rs); // 关闭此连接 } return profile; } public static void main(String[] args) { ProfileDao p = new ProfileDao(); List<Profile> list =p.getAll(); for(int i=0;i<list.size();i++){ System.out.println(list.get(i).getAddress()); } } }================================================package entity;public class Profile { private int id; private String name; //姓名 private String birthday; //生日 private String gender; //性别 private String career; //职业 private String address; //住所 private String mobile; //电话 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getCareer() { return career; } public void setCareer(String career) { this.career = career; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public int getId() { return id; } public void setId(int id) { this.id = id; } }===============================================package servlet;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.ProfileDao;import entity.Profile;import com.lowagie.text.Cell;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.Font;import com.lowagie.text.Paragraph;import com.lowagie.text.Phrase;import com.lowagie.text.Table;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.pdf.PdfWriter;public class DetailServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String type = request.getParameter("type"); String id = request.getParameter("id"); int theId = Integer.parseInt(id); ProfileDao profileDao = new ProfileDao(); Profile profile = profileDao.getProfile(theId); request.setAttribute("profile", profile); RequestDispatcher rd = null; if (type == null || type.equals("")) { //如果是html格式 rd = request.getRequestDispatcher("detail.jsp"); } else if (type.equals("pdf")) { // 如果是pdf格式 String filePath = getServletContext().getRealPath("/") + "/" + "detail.pdf"; generatePdf(profile, filePath); BufferedInputStream bis = null; BufferedOutputStream bos = null; response.setContentType("application/pdf"); try{ bis = new BufferedInputStream(new FileInputStream(filePath)); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while(-1 != (bytesRead = bis.read(buff,0,buff.length))){ bos.write(buff,0,bytesRead); } }catch(Exception e){ e.printStackTrace(); }finally{ if(bis != null) bis.close(); if(bos != null) bos.close(); } return; //request.setAttribute("filePath", filePath); //rd = request.getRequestDispatcher("detail_pdf.jsp"); } else if (type.equals("word")) { // 如果是word格式 rd = request.getRequestDispatcher("detail_doc.jsp"); } rd.forward(request, response); } /** * 生成所需的pdf文件 * @param profile * @param filePath * @throws FileNotFoundException * @throws IOException */ private void generatePdf(Profile profile, String filePath) throws FileNotFoundException, IOException { Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream(filePath)); document.addTitle(profile.getName() + "的档案明细"); BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false); Font fontChinese = new Font(bfChinese); document.open(); document.add(new Paragraph(profile.getName() + "档案明细", fontChinese)); // 明细表格 Table table = new Table(2); int width[] = { 50, 50 }; table.setWidths(width); table.setWidth(80); table.setPadding(1); table.setSpacing(1); table.setBorder(1); Cell cell = null; cell = new Cell(new Phrase("编号:", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase(profile.getId() + "", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase("姓名:", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase(profile.getName(), fontChinese)); table.addCell(cell); cell = new Cell(new Phrase("生日:", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase(profile.getBirthday(), fontChinese)); table.addCell(cell); cell = new Cell(new Phrase("性别:", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase(profile.getGender(), fontChinese)); table.addCell(cell); cell = new Cell(new Phrase("职业:", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase(profile.getCareer(), fontChinese)); table.addCell(cell); cell = new Cell(new Phrase("住所:", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase(profile.getAddress(), fontChinese)); table.addCell(cell); cell = new Cell(new Phrase("电话:", fontChinese)); table.addCell(cell); cell = new Cell(new Phrase(profile.getMobile(), fontChinese)); table.addCell(cell); document.add(table); } catch (DocumentException e) { e.printStackTrace(); } document.close(); } }================================================package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.ProfileDao;import entity.Profile;public class ExcelServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ProfileDao profileDao = new ProfileDao(); List<Profile> list = profileDao.getAll(); request.setAttribute("list", list); RequestDispatcher rd = request.getRequestDispatcher("list_excel.jsp"); rd.forward(request, response); }}===============================================package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.ProfileDao;import entity.Profile;public class ListServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ProfileDao profileDao = new ProfileDao(); List<Profile> list = profileDao.getAll(); System.out.println(list+"asd"); request.setAttribute("list", list); RequestDispatcher rd = request.getRequestDispatcher("list.jsp"); rd.forward(request, response); } }==================================================package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.ProfileDao;import entity.Profile;public class UpdateServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String error = ""; String id = request.getParameter("id"); if(id == null || id.equals("")){ error = "id为空"; } String name = request.getParameter("name"); if(name== null || name.equals("")){ error = "名称为空"; }else{ name = new String(name.getBytes("iso-8859-1"),"utf-8"); } String birthday = request.getParameter("birthday"); if(birthday == null || birthday.equals("")){ error = "生日为空"; } String gender = request.getParameter("gender"); if(gender == null || gender.equals("")){ error = "性别为空"; }else{ gender = new String(gender.getBytes("iso-8859-1"),"utf-8"); } String career = request.getParameter("career"); if(career == null || career.equals("")){ error = "职业为空"; }else{ career = new String(career.getBytes("iso-8859-1"),"utf-8"); } String address = request.getParameter("address"); if(address == null || address.equals("")){ error = "地址为空"; }else{ address = new String(address.getBytes("iso-8859-1"),"utf-8"); } String mobile = request.getParameter("mobile"); if(mobile == null || mobile.equals("")){ error = "电话为空"; } RequestDispatcher rd = null; if(!error.equals("")){ request.setAttribute("error", error); rd = request.getRequestDispatcher("error.jsp"); return; } int theId = Integer.parseInt(id); ProfileDao profileDao = new ProfileDao(); Profile profile = new Profile(); profile.setId(theId); profile.setName(name); profile.setBirthday(birthday); profile.setGender(gender); profile.setCareer(career); profile.setAddress(address); profile.setMobile(mobile); profileDao.updateProfile(profile); request.setAttribute("profile", profile); List<Profile> list = profileDao.getAll(); request.setAttribute("list", list); rd = request.getRequestDispatcher("list.jsp"); //转向列表页 rd.forward(request, response); }}=====================================================<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>list</servlet-name> <servlet-class>servlet.ListServlet</servlet-class> </servlet> <servlet> <servlet-name>detail</servlet-name> <servlet-class>servlet.DetailServlet</servlet-class> </servlet> <servlet> <servlet-name>excel</servlet-name> <servlet-class>servlet.ExcelServlet</servlet-class> </servlet> <servlet> <servlet-name>update</servlet-name> <servlet-class>servlet.UpdateServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>list</servlet-name> <url-pattern>/list</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>detail</servlet-name> <url-pattern>/detail</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>excel</servlet-name> <url-pattern>/excel</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>update</servlet-name> <url-pattern>/update</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <login-config> <auth-method>BASIC</auth-method> </login-config></web-app>===============================================<%@ page import="entity.Profile" %><%@ page contentType="text/html;charset=UTF-8" %><% response.setContentType("application/msword"); Profile profile = (Profile)request.getAttribute("profile");%><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><title>档案明细</title></head><body><table border = "1"><tr><td>编号</td><td><%=profile.getId() %></td></tr><tr><td>姓名</td><td><%=profile.getName()%></td></tr><tr><td>生日</td><td><%=profile.getBirthday() %></td></tr><tr><td>性别</td><td><%=profile.getGender()%></td></tr><tr><td>职业</td><td><%=profile.getCareer()%></td></tr><tr><td>住所</td><td><%=profile.getAddress() %></td></tr><tr><td>电话</td><td><%=profile.getMobile() %></td></tr></table><br/></body></html>===================================================<%@ page contentType="text/html;charset=UTF-8" %><%response.setHeader("Pragma","No-cache"); %><%response.setHeader("Cache-Control","no-cache"); %><%response.setHeader("Expires","0");%><%@ page import="entity.Profile" %><% Profile profile = (Profile)request.getAttribute("profile"); %><html><head><title>档案明细</title></head><body><table border = "1"><tr><td>编号</td><td><%=profile.getId() %></td></tr><tr><td>姓名</td><td><%=profile.getName() %></td></tr><tr><td>生日</td><td><%=profile.getBirthday() %></td></tr><tr><td>性别</td><td><%=profile.getGender() %></td></tr><tr><td>职业</td><td><%=profile.getCareer() %></td></tr><tr><td>住所</td><td><%=profile.getAddress() %></td></tr><tr><td>电话</td><td><%=profile.getMobile() %></td></tr></table><br/><input type=‘button‘ onclick=‘history.back(-1)‘ value=http://www.mamicode.com/‘返 回‘/>"java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="http://www.mamicode.com/"> <title>My JSP ‘index.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css"> --> </head> <% response.sendRedirect(path+"/list"); %> <body> </body></html>=============================================<%@ page language="java" contentType="application/vnd.ms-excel;charset=GBK"%><%@ page import="java.util.List" %><%@ page import="entity.Profile" %><% List<Profile> list = (List<Profile>)request.getAttribute("list"); %><html><head><title>公告列表</title></head><body><table width="80%" border="1"><tr bgcolor="yellow"> <td width="10%">档案编号</td> <td width="10%">姓名</td> <td width="10%">生日</td> <td width="5%">性别</td> <td width="10%">职业</td> <td width="20%">住所</td> <td width="15%">电话</td></tr><%for(int i = 0;i < list.size();i++){ Profile profile = list.get(i);%><tr> <td width="10%"><%=profile.getId() %></td> <td width="10%"><%=profile.getName() %></td> <td width="10%"><%=profile.getBirthday() %></td> <td width="5%"><%=profile.getGender() %></td> <td width="10%"><%=profile.getCareer() %></td> <td width="20%"><%=profile.getAddress() %></td> <td width="15%"><%=profile.getMobile() %></td></tr><%} %></table><br/></body></html>==================================================<%@ page contentType="text/html;charset=UTF-8" %><%response.setHeader("Pragma","No-cache"); %><%response.setHeader("Cache-Control","no-cache"); %><%response.setHeader("Expires","0");%><%@ page import="java.util.List" %><%@ page import="entity.Profile" %><% List<Profile> list = (List<Profile>)request.getAttribute("list"); RequestDispatcher rd = request.getRequestDispatcher("/list"); if(list == null){ rd.forward(request,response); } %><html><head><script language=‘Javascript‘>//阅读档案function doRead(id){ document.location = ‘/MyProfile/detail?id=‘ + id;}//更新档案function doUpdate(id){ document.location = ‘update.jsp?id=‘ + id;}function pdf(id){ document.location = ‘/MyProfile/detail?type=pdf&id=‘ + id;}function word(id){ document.location = ‘/MyProfile/detail?type=word&id=‘ + id;}</script><title>档案列表</title></head><body onl oad="window.location.href=http://www.mamicode.com/list"><table width="90%" border="1"><tr bgcolor="yellow"> <td width="5%">编号</td> <td width="10%">姓名</td> <td width="10%">生日</td> <td width="5%">性别</td> <td width="10%">职业</td> <td width="15%">住所</td> <td width="10%">电话</td> <td width="25%">操作</td></tr><%for(int i = 0;i < list.size();i++){ Profile profile = list.get(i);%><tr> <td width="5%"><%=profile.getId() %></td> <td width="10%"><%=profile.getName() %></td> <td width="10%"><%=profile.getBirthday() %></td> <td width="5%"><%=profile.getGender() %></td> <td width="10%"><%=profile.getCareer() %></td> <td width="15%"><%=profile.getAddress() %></td> <td width="10%"><%=profile.getMobile() %></td><td width="25%"> <input type=‘button‘ value=http://www.mamicode.com/‘明细‘ onclick=‘doRead()‘/>"java" contentType="text/html;charset=UTF-8" %><%response.setHeader("Pragma","No-cache"); %><%response.setHeader("Cache-Control","no-cache"); %><%response.setHeader("Expires","0");%><%@ page import="entity.Profile" %><%@ page import="dao.ProfileDao" %><% String id = request.getParameter("id"); int theId = Integer.parseInt(id); ProfileDao profileDao = new ProfileDao(); Profile profile = profileDao.getProfile(theId); %><html><head><title>档案明细</title><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><script language="Javascript">function init(){ var g = ‘<%=profile.getGender()%>‘; var gender = document.getElementById(‘gender‘); if(g == ‘男‘){ gender.selectedIndex = 0; }else{ gender.selectedIndex = 1; }}function doSubmit(){ document.getElementById(‘sform‘).submit();}</script></head><body onl oad=‘init()‘><form id=‘sform‘ action=‘/MyProfile/update‘/><input type=‘hidden‘ value=http://www.mamicode.com/‘‘ name=‘id‘/>"1"><tr><td>编号</td><td><%=profile.getId() %></td></tr><tr><td>姓名</td><td><input type=‘text‘ value=http://www.mamicode.com/‘‘ name=‘name‘/>>
数据用pdf和world显示和保存
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。