生成不用数据库的基于JSP的留言本代码
时间: 2024-03-10 16:46:44 浏览: 50
基于jsp的留言本设计
以下是一个简单的不使用数据库的基于JSP的留言本代码示例,仅供参考:
留言本页面(index.jsp):
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>留言本</title>
</head>
<body>
<h1>留言本</h1>
<form action="addMessage" method="post">
<label>留言内容:</label><br>
<textarea name="content" rows="5" cols="50"></textarea><br>
<button type="submit">提交</button>
</form>
<hr>
<h2>留言列表</h2>
<%
// 读取留言列表并动态生成HTML内容
String messagesFile = "/WEB-INF/messages.txt";
String messagesPath = application.getRealPath(messagesFile);
java.io.File file = new java.io.File(messagesPath);
if (file.exists()) {
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
%>
<p><%= line %></p>
<%
}
reader.close();
}
%>
</body>
</html>
```
添加留言的Servlet(AddMessageServlet.java):
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/addMessage")
public class AddMessageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 读取提交的留言内容并写入文件
String content = request.getParameter("content");
if (content != null && !content.isEmpty()) {
String messagesFile = "/WEB-INF/messages.txt";
String messagesPath = getServletContext().getRealPath(messagesFile);
java.io.PrintWriter writer = new java.io.PrintWriter(new java.io.FileWriter(messagesPath, true));
writer.println(content);
writer.close();
}
// 重定向到留言本页面
response.sendRedirect(request.getContextPath() + "/index.jsp");
}
}
```
在实现过程中,需要将留言信息存储到一个文本文件中,该文件的路径通过ServletContext对象的getRealPath方法获取。在读取留言列表时,需要先从文件中读取所有留言内容,并动态生成HTML内容展示在页面上。在提交留言时,需要使用HTTP重定向将请求转发到留言本页面。
阅读全文