500空指针

package service;
import java.util.List;
import bean.Message;
import dao.MessageDAO;
//信息的service,用于二次处理数据
public class MessageSecvice {
//实例化dao的方法
private MessageDAO messageDAO;
public void MessageService() {
messageDAO =new MessageDAO();
}
//调用到中的方法传入参数,返回list
public List<Message> getMessages(int page,int pageSize){
return messageDAO.getMessages(page, pageSize);
}
public int countMessages() {
return messageDAO.countMessages();
}
}package servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.Message;
import service.MessageSecvice;
public class MessageServlet extends HttpServlet {
/**
* @version 1.0
*/
private MessageSecvice messageService;
//重写init,service,destroy方法
@Override
public void init() throws ServletException {
super.init();
//实例化service的对象
messageService=new MessageSecvice();
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获得当前页码
String pageStr=request.getParameter("page");
//初始页数为1
int page=1;
//当pageStr不为空则将pagestr赋值给page
if(pageStr!=null&&"".equals(pageStr)) {
page=Integer.parseInt(pageStr);
}
//调用方法,分页查询全部留言
List<Message> messages=messageService.getMessages(page, 5);
for(Message m:messages) {
System.out.println(m);
}
//获得总留言数
int count=messageService.countMessages();
System.out.println(count+"123");
//尾页计算
int last=count%5==0?(count/5):((count/5)+1);
System.out.println(last+"1234");
//返回页面
request.setAttribute("page", page);
request.setAttribute("last", last);
request.setAttribute("messages", messages);
request.getRequestDispatcher("/WEB-INF/views/biz/message_list.jsp").forward(request, response);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
}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 Common.ConnectionUtil;
import bean.Message;
//信息的方法具体实现类,最底层方法实现
public class MessageDAO{
//将每条留言封装进集合
public List<Message> getMessages(int page,int pageSize){
Connection conn=ConnectionUtil.getConnection();
System.out.println(conn);
PreparedStatement stmt=null;
ResultSet rs=null;
List<Message> messages=new ArrayList<>();
//新建sql语句,limit m,n:从第m条开始取出共n条
String sql="select*from message order by create_time desc limit ?,?";
try {
//预处理sql
stmt=conn.prepareStatement(sql);
stmt.setInt(1, (page-1)*pageSize);
stmt.setInt(2, pageSize);
rs=stmt.executeQuery();
while(rs.next()) {
messages.add(new Message(rs.getLong("id"),rs.getLong("uesr_id"),rs.getString("username"),rs.getString("title"),rs.getString("content"),rs.getTimestamp("create_time")));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.release(rs, stmt, conn);
}
System.out.println("");
return messages;
}
//获得留言总数
public int countMessages() {
Connection conn=ConnectionUtil.getConnection();
System.out.println(conn);
PreparedStatement stmt=null;
ResultSet rs=null;
//设置sql语句
String sql="select count(*) total from message";
//预处理sql
try {
stmt=conn.prepareStatement(sql);
rs=stmt.executeQuery();
while(rs.next()) {
return rs.getInt("totle");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.release(rs, stmt, conn);
}
return 0;
}
}4
收起
正在回答 回答被采纳积分+1
1回答
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星