首页 > 代码库 > 数据用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显示和保存