老师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 星