我的第一个项目(人力资源管理之报表管理)
? ? ? ?2014年暑期實習(xí)老師要求的是人力資源管理系統(tǒng),組隊后組長分配給的任務(wù)是報表管理。
? ? ? ?我做的報表管理,主要的功能是用戶輸入查詢的時間區(qū)間和查詢部門,然后將數(shù)據(jù)據(jù)庫返回的數(shù)據(jù)顯示在瀏覽器上。用戶可以選擇是否生成excel表格(表格是保存在固定的電腦地址下《D:》)
? ? ? 首先列一下系統(tǒng)要求:截圖如下(為什么不能插入圖片,第一次寫不知道怎么插入)。需求要求顯示當(dāng)前月的月首和月末。
? ? ? 我首先要做的就是處理這些默認值(時間默認值和部門默認值(全部)):
? ? ? 1、首先從系統(tǒng)獲取當(dāng)前年份與月份:
<%@ page language="java"%><%@ page contentType="text/html; charset=utf-8"%><%@ page import="java.util.*"%><%@ page import="java.text.*"%><%String day = "";String year1 = new SimpleDateFormat("yyyy").format(Calendar.getInstance().getTime());String month1 = new SimpleDateFormat("MM").format(Calendar.getInstance().getTime());%>
?
? ? 2、從數(shù)據(jù)庫獲取部門信息(jsp里的代碼,在servlet中一樣)
? ? ? ?
部門:
?
? ? ? ? ? Form2類:
public class Form2{public ArrayList getConnection(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";String dbURL = "jdbc:sqlserver://172.20.61.19:1433;DatabaseName=Admininstration";String user = "sa";String password = "1962603840";java.sql.Connection connection=null;ArrayList list1 = new ArrayList();try{Class.forName(driverName);connection=DriverManager.getConnection(dbURL, user, password);java.sql.Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery("select dep_name from department");while(resultSet.next()){String dep_name = resultSet.getString("dep_name");departmentBean bean1 = new departmentBean();bean1.setDep_name(dep_name);list1.add(bean1);}return list1;}catch (Exception e){e.printStackTrace();// TODO: handle exception }finally{try {connection.close();} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}}return list1;}}
?
? ? ?3、從數(shù)據(jù)庫中獲取數(shù)據(jù)并保存在excel表格中,(只能保存在主機上,找時間要探索一下如何在用戶電腦上顯示)(連接數(shù)據(jù)庫的類中寫的)
?
if (excel.equals("是")) {//excel是從jsp頁面選擇的是否要生成excel的選擇,通過session傳遞try {// open file.WritableWorkbook book = Workbook.createWorkbook(new File("d:/新聘職工信息.xls"));WritableSheet sheet = book.createSheet("Sheet_1", 0);jxl.write.Label label1 = new jxl.write.Label(0, 0, "序號");sheet.addCell(label1);jxl.write.Label label2 = new jxl.write.Label(1, 0, "部門名稱");sheet.addCell(label2);jxl.write.Label label3 = new jxl.write.Label(2, 0, "崗位名稱");sheet.addCell(label3);jxl.write.Label label4 = new jxl.write.Label(3, 0, "入職日期");sheet.addCell(label4);for (int i = 0;i < list.size();i ++){staff_infBean bean1 = (staff_infBean)list.get(i);jxl.write.Label label01 = new jxl.write.Label(0, i+1, bean1.getStaff_id());sheet.addCell(label01);jxl.write.Label label02 = new jxl.write.Label(1, i+1, bean1.getDepartment());sheet.addCell(label02);jxl.write.Label label03 = new jxl.write.Label(2, i+1, bean1.getPost());sheet.addCell(label03);jxl.write.Label label04 = new jxl.write.Label(3, i+1, bean1.getDate_entry());sheet.addCell(label04);}book.write();book.close();} catch (Exception e) {e.printStackTrace();}
?
4、處理亂碼問題
? ? ?tomcat下的conf下的server.xml中找到第二個8080處,在8080后面加上 ?URIEncoding="utf-8" ?保存,然后在Servlet文件中加轉(zhuǎn)碼語句
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");//轉(zhuǎn)碼
PrintWriter out = response.getWriter();//不知道有沒有順序問題,有一次順序錯了,也導(dǎo)致了亂碼。
轉(zhuǎn)載于:https://www.cnblogs.com/ling123/p/3868726.html
總結(jié)
以上是生活随笔為你收集整理的我的第一个项目(人力资源管理之报表管理)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用cors,实现js跨域访问Tomca
- 下一篇: Apache FtpServer配置步骤