用session和application对象写出一个jsp页面的留言版代码
时间: 2024-02-29 18:53:26 浏览: 64
用jsp写的留言板程序
好的,以下是使用 session 和 application 对象实现的 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>
<%-- 显示留言 --%>
<h2>已有留言:</h2>
<ul>
<%-- 从 application 对象中获取留言列表 --%>
<%
String[] messages = (String[]) application.getAttribute("messages");
if (messages != null) {
for (String message : messages) {
out.println("<li>" + message + "</li>");
}
}
%>
</ul>
<%-- 提交留言 --%>
<h2>发表留言:</h2>
<form action="addMessage.jsp" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>留言内容:</label><textarea name="content"></textarea><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
addMessage.jsp 页面
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 获取用户提交的留言信息
String username = request.getParameter("username");
String content = request.getParameter("content");
// 将留言信息添加到 session 对象中
String message = username + ": " + content;
String[] messages = (String[]) application.getAttribute("messages");
if (messages == null) {
messages = new String[] { message };
} else {
String[] newMessages = new String[messages.length + 1];
System.arraycopy(messages, 0, newMessages, 0, messages.length);
newMessages[messages.length] = message;
messages = newMessages;
}
application.setAttribute("messages", messages);
// 跳转回留言板页面
response.sendRedirect("index.jsp");
%>
```
在上述代码中,我们使用了 application 对象来保存所有用户的留言信息,以便在不同的会话中共享这些信息。在 addMessage.jsp 页面中,我们通过获取用户提交的留言信息,将其添加到 application 对象中,然后再跳转回留言板页面,在留言板页面中从 application 对象中获取留言列表并显示。
阅读全文