500空指针
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 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(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | 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积分~
来为老师/同学的回答评分吧