老师404错误 没找到
ackage com.imooc.jdbc.bean; import java.util.Date; public class Message { private long id; private long user_id; private String username; private String title; private String content; private Date createTime; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getUser_id() { return user_id; } public void setUser_id(long user_id) { this.user_id = user_id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Message(long id, long user_id, String username, String title, String content, Date createTime) { this.id = id; this.user_id = user_id; this.username = username; this.title = title; this.content = content; this.createTime = createTime; } }
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>MessageBoard</title> <meta http-equiv="refresh" content="0;url=<%=request.getContextPath()%>/message/list.do"> </head> </html>
ConnectionUtil类
package com.imooc.jdbc.common; import java.sql.*; public final class ConnectionUtil { /** * 数据库操作的工具类 */ private static String url="jdbc:mysql://localhost:3306/message_board"; private static String user="root"; private static String password="root"; private ConnectionUtil(){} static{ try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("找不到驱动程序类,加载驱动失败"); e.printStackTrace(); } } /** * 获得数据库链接 * @return */ public static Connection getConnection(){ try { return DriverManager.getConnection(url,user,password); } catch (SQLException e) { System.out.println("创建数据库链接失败"); e.printStackTrace(); } return null; } /** * 释放数据库资源 * @param rs ResultSet * @param stmt Statement * @param conn Connection */ public static void release(ResultSet rs, Statement stmt,Connection conn){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ if(stmt!=null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } } } }
MessageDAO
package com.imooc.jdbc.dao; import com.imooc.jdbc.bean.Message; import com.imooc.jdbc.common.ConnectionUtil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; /** * 消息的dao */ public class MessageDAO { /** *分页查询全部留言 * @param page 当前页码 * @param pageSize 每页记录数 * @return */ public List<Message> getMessages(int page,int pageSize){ Connection conn= ConnectionUtil.getConnection(); String sql="select * from message order by create_time desc limit ?, ?";//limit m,n 从第m条记录开始取出总共n条记录 PreparedStatement stmt=null; ResultSet rs=null; List<Message> messages=new ArrayList<>(); try { 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("user_id"), rs.getString("username"), rs.getString("title"), rs.getString("content"), rs.getTimestamp("create_time") )); } } catch (SQLException e) { e.printStackTrace(); }finally{ ConnectionUtil.release(rs,stmt,conn); } return messages; } /** * 计算所有留言数量 * @return */ public int counteMessages(){ Connection conn= ConnectionUtil.getConnection(); String sql="select count(*) total from message ";//limit m,n 从第m条记录开始取出总共n条记录 PreparedStatement stmt=null; ResultSet rs=null; try { stmt=conn.prepareStatement(sql); rs=stmt.executeQuery(); while(rs.next()){ return rs.getInt("total"); } } catch (SQLException e) { e.printStackTrace(); }finally { ConnectionUtil.release(rs,stmt,conn); } return 0; } }
MessageService
package com.imooc.jdbc.service; import com.imooc.jdbc.bean.Message; import com.imooc.jdbc.dao.MessageDAO; import java.util.List; public class MessageService { private MessageDAO messageDAO; public MessageService() { messageDAO=new MessageDAO(); } public List<Message> getMessages(int page,int pageSize){ return messageDAO.getMessages(page,pageSize); } /** * 计算所有留言数量 * @return */ public int counteMessages(){ return messageDAO.counteMessages(); } }
MessageListServlet
package com.imooc.jdbc.servlet; import com.imooc.jdbc.bean.Message; import com.imooc.jdbc.service.MessageService; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; /** * 消息列表的servlet */ public class MessageListServlet extends HttpServlet{ private MessageService messageService; @Override public void init() throws ServletException { super.init(); messageService=new MessageService(); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pageStr=request.getParameter("page");//当前页码 int page=1;//页码默认值为1 if(null !=pageStr&&(!"".equals(pageStr))){ try { page = Integer.parseInt(pageStr); }catch (Exception e){ e.printStackTrace(); } } List<Message> messages= messageService.getMessages(page,5);//分页查询全部留言 int count=messageService.counteMessages(); int last=count%5==0?(count/5):((count/5)+1); request.setAttribute("last",last); request.setAttribute("messages",messages); request.setAttribute("page",page); request.getRequestDispatcher("/WEB_INF/views/biz/message_list.jsp").forward(request,response); } @Override public void destroy() { super.destroy(); messageService=null; } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>MessageListServlet</servlet-name> <servlet-class>com.imooc.jdbc.servlet.MessageListServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MessageListServlet</servlet-name> <url-pattern>/message/list.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/WEB-INF/views/error/404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/WEB-INF/views/error/500.jsp</location> </error-page> </web-app>
1
收起
正在回答 回答被采纳积分+1
1回答
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星