Servlet.java类:
package com.axjy.web;
import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.axjy.dao.impl.DynamicNewsDaoImpl;
import com.axjy.util.Pager;
import com.google.gson.Gson;
public class DynamicNewsServlet extends HttpServlet {
private static final DynamicNewsDaoImpl
DynamicNewsDaoImpl = null;
public DynamicNewsDaoImpl dy;
public DynamicNewsServlet() {
try {
dy=new
DynamicNewsDaoImpl();
} catch (SQLException e)
{
e.printStackTrace();
} }
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
this.doPost(request,
response); }
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
request.setCharacterEncoding("utf-8");
String
pageStr=request.getParameter("page");
String
rowsStr=request.getParameter("rows");
Integer page=0;
Integer rows=0;
long id=50;
try{
if(pageStr!=null&&!"".equals(pageStr)){
page=Integer.parseInt(pageStr);
}
if(rowsStr!=null&&!"".equals(rowsStr)){
rows=Integer.parseInt(rowsStr);
}
Pager
pg=dy.queryPage(page, rows, id);
Gson gson=new
Gson();
String
json=gson.toJson(pg);
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(json);
response.getWriter().flush();
response.getWriter().close();
}catch(Exception e){
e.printStackTrace();
}
}
public void init() throws ServletException
{
}
}
Pager.java类:
package com.axjy.util;
import java.util.List;
public class Pager { private List rows;
private int total; private List today;
public List getRows() {
return rows;
}
public void setRows(List rows) {
this.rows = rows;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List getToday() {
return today;
}
public void setToday(List today) {
this.today = today;
}
}
Dao层
package com.axjy.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.axjy.dao.DynamicNewsDao;
import com.axjy.entity.News;
import com.axjy.entity.SheetInfo;
import com.axjy.util.Pager;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DynamicNewsDaoImpl extends BasicDaoImpl implements
DynamicNewsDao{
public Connection dbConnection;
public DynamicNewsDaoImpl() throws
SQLException{
ComboPooledDataSource cps=new
ComboPooledDataSource("tbsDB");
dbConnection=cps.getConnection();
}
public Pager queryPage(Integer currPage, Integer
pageSize, long offset) throws SQLException {
Pager
page=new Pager();
System.out.println("queryPage
444"); String sql="select
tbs1.file_info.*,tbs1.sheet_info.stime," +
"tbs1.sheet_info.etime,tbs1.sheet_info.cols
" +
"from
tbs1.file_info inner " +
"join
tbs1.sheet_info on tbs1.file_info.id=tbs1.sheet_info.file_id " +
"order
by tbs1.file_info.id desc limit 0,"+offset;
PreparedStatement
pstm=dbConnection.prepareStatement(sql);
PreparedStatement
pstm1=dbConnection.prepareStatement(sql);
System.out.println("queryPage
555");
ResultSet
rs=pstm.executeQuery();
ResultSet
rs1=pstm1.executeQuery();
Map map=new HashMap();
Map map1=new HashMap();
int sum=0;
while(rs.next()){
Date d = new
Date();
SimpleDateFormat
sm_y=new SimpleDateFormat("yyyy");
SimpleDateFormat
sm_m=new SimpleDateFormat("MM");
SimpleDateFormat
sm_d=new SimpleDateFormat("dd");
String
sm_yy=sm_y.format(d);
String
sm_mm=sm_m.format(d);
String
sm_dd=sm_d.format(d);
String
ddddd=sm_yy+"-"+sm_mm+"-"+sm_dd;
SimpleDateFormat
sdf = new SimpleDateFormat("yyyy-MM-dd");
String
e=sdf.format(rs.getInt("date"));
if(e.equals("1970-01-17")){
if(map1.containsKey(rs.getInt("id"))==false){
News
news=new News();
news.setId(rs.getInt("id"));
news.setDate(rs.getInt("date"));
news.setFilename(rs.getString("filename"));
news.setDepartment(rs.getString("department"));
news.setFiledir(rs.getString("filedir"));
news.setFilename(rs.getString("filename"));
news.setFiletype(rs.getString("filetype"));
news.setSize(rs.getInt("size"));
news.setUsername(rs.getString("username"));
map1.put(news.getId(),
news);
}
SheetInfo
si=new SheetInfo();
si.setCols(rs.getString("cols")); si.setEtime(rs.getString("etime"));
si.setStime(rs.getString("stime"));
map1.get(rs.getInt("id")).getSheetInfos().add(si);
}
}
while(rs1.next()){
if(map.containsKey(rs1.getInt("id"))==false){
News
news=new News();
news.setId(rs1.getInt("id"));
news.setDate(rs1.getInt("date"));
news.setFilename(rs1.getString("filename"));
news.setDepartment(rs1.getString("department"));
news.setFiledir(rs1.getString("filedir"));
news.setFilename(rs1.getString("filename"));
news.setFiletype(rs1.getString("filetype"));
news.setSize(rs1.getInt("size"));
news.setUsername(rs1.getString("username"));
map.put(news.getId(),
news);