基于ssm的留言板代码
时间: 2023-09-26 07:05:04 浏览: 103
留言板的代码
以下是基于SSM框架的留言板代码示例:
1. 配置文件
在src/main/resources目录下创建jdbc.properties文件,用于配置数据库连接信息。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/message_board?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=123456
在web.xml中配置DispatcherServlet。
<web-app>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2. 数据库表设计
创建message表,用于存储留言信息。
CREATE TABLE `message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`content` varchar(255) DEFAULT NULL,
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
3. 实体类设计
创建Message实体类,用于映射message表。
public class Message {
private Integer id;
private String username;
private String content;
private Date createTime;
// getters and setters
}
4. DAO层设计
创建MessageMapper接口和MessageMapper.xml文件,用于定义数据库操作方法和SQL语句。
public interface MessageMapper {
int addMessage(Message message);
List<Message> getMessageList();
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.MessageMapper">
<insert id="addMessage" parameterType="com.example.entity.Message">
INSERT INTO message(username, content) VALUES(#{username}, #{content})
</insert>
<select id="getMessageList" resultType="com.example.entity.Message">
SELECT * FROM message ORDER BY create_time DESC
</select>
</mapper>
5. Service层设计
创建MessageService接口和MessageServiceImpl实现类,用于定义业务逻辑方法。
public interface MessageService {
int addMessage(Message message);
List<Message> getMessageList();
}
@Service
public class MessageServiceImpl implements MessageService {
@Autowired
private MessageMapper messageMapper;
@Override
public int addMessage(Message message) {
return messageMapper.addMessage(message);
}
@Override
public List<Message> getMessageList() {
return messageMapper.getMessageList();
}
}
6. Controller层设计
创建MessageController类,用于处理请求和响应。
@Controller
@RequestMapping("/message")
public class MessageController {
@Autowired
private MessageService messageService;
@RequestMapping("/add")
@ResponseBody
public String addMessage(Message message) {
int result = messageService.addMessage(message);
if (result == 1) {
return "success";
} else {
return "fail";
}
}
@RequestMapping("/list")
public String getMessageList(Model model) {
List<Message> messageList = messageService.getMessageList();
model.addAttribute("messageList", messageList);
return "message_list";
}
}
7. 视图设计
在src/main/webapp/WEB-INF/views目录下创建message_list.jsp文件,用于显示留言列表。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<form action="${pageContext.request.contextPath}/message/add" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>留言内容:</label><textarea name="content"></textarea><br>
<input type="submit" value="提交">
</form>
<hr>
<h2>留言列表</h2>
<table border="1">
<tr>
<th>ID</th>
<th>用户名</th>
<th>留言内容</th>
<th>创建时间</th>
</tr>
<c:forEach items="${messageList}" var="message">
<tr>
<td>${message.id}</td>
<td>${message.username}</td>
<td>${message.content}</td>
<td>${message.createTime}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
以上就是基于SSM框架的留言板代码示例,可以根据实际需求进行修改和优化。
阅读全文