用MyEclipse 编写一个 JavaBean 存储用户留言等相关信息,再编写一个 JavaBean 处理留言等相关信息的中文乱码问题。编写一个JSP 页面获取用户提交的留言等相关信息并显示出来
时间: 2024-03-01 11:53:05 浏览: 93
使用JSP、JavaBean和Servlet完成一个简单的留言板设计(包含完整源代码+数据库+程序截图+中文显示数据)
好的,以下是一个简单的实现步骤:
1. 创建一个JavaBean用于存储用户留言等相关信息,例如:
```java
public class MessageBean implements java.io.Serializable {
private String name;
private String message;
private Date time;
// 构造函数
public MessageBean() {
this.name = "";
this.message = "";
this.time = new Date();
}
// 设置和获取姓名
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
// 设置和获取留言内容
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return this.message;
}
// 设置和获取留言时间
public void setTime(Date time) {
this.time = time;
}
public Date getTime() {
return this.time;
}
}
```
2. 创建一个JavaBean用于处理中文乱码问题,例如:
```java
public class EncodingBean {
// 处理请求参数的中文乱码问题
public static String toUTF8(String str) {
String result = "";
if (str != null) {
try {
result = new String(str.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return result;
}
}
```
3. 创建一个JSP页面用于获取用户提交的留言等相关信息并显示出来,例如:
```jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.*" %>
<%@ page import="com.example.MessageBean" %>
<%@ page import="com.example.EncodingBean" %>
<html>
<head>
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<hr>
<%-- 处理留言提交 --%>
<%
request.setCharacterEncoding("UTF-8"); // 设置请求编码为UTF-8
String name = EncodingBean.toUTF8(request.getParameter("name")); // 获取姓名并转换编码
String message = EncodingBean.toUTF8(request.getParameter("message")); // 获取留言内容并转换编码
if (name != null && message != null) { // 判断是否有留言提交
MessageBean msg = new MessageBean(); // 创建留言对象
msg.setName(name); // 设置姓名
msg.setMessage(message); // 设置留言内容
session.setAttribute("msg", msg); // 将留言对象存入session中
response.sendRedirect(request.getRequestURI()); // 重定向到当前页面
return; // 结束当前页面的执行
}
%>
<%-- 显示留言列表 --%>
<%
List<MessageBean> msgList = new ArrayList<MessageBean>(); // 创建留言列表
if (session.getAttribute("msgList") != null) { // 判断是否有留言列表
msgList = (List<MessageBean>) session.getAttribute("msgList"); // 获取留言列表
}
if (session.getAttribute("msg") != null) { // 判断是否有新留言
MessageBean msg = (MessageBean) session.getAttribute("msg"); // 获取新留言
msgList.add(msg); // 将新留言添加到留言列表中
session.removeAttribute("msg"); // 删除新留言
session.setAttribute("msgList", msgList); // 将留言列表存入session中
}
if (msgList.size() == 0) { // 判断是否有留言
out.println("<p>暂无留言。</p>");
} else {
out.println("<ul>");
for (MessageBean msg : msgList) { // 遍历留言列表
out.println("<li>" + msg.getName() + ":" + msg.getMessage() + "(" + msg.getTime() + ")</li>");
}
out.println("</ul>");
}
%>
<%-- 提交留言 --%>
<form action="<%= request.getRequestURI() %>" method="post">
<p>姓名:<input type="text" name="name"></p>
<p>留言:<textarea name="message"></textarea></p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>
```
在上面的JSP页面中,我们首先处理留言提交,然后显示留言列表,最后提交留言。在提交留言时,我们使用了重定向来避免浏览器弹出“重新提交表单”的提示框。在显示留言时,我们使用了会话(session)来存储留言列表和新留言对象。在提交留言时,我们使用了UTF-8编码来处理中文乱码问题。
阅读全文