版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fighting123678/article/details/85300938
题目
设计一个简单的基于Web的留言板,要求:1)系统中所有页面,如果用户没登录,则让用户返回到登录页面login.jsp(说明:login.jsp页面填写用户的用户名和密码);2)留言板(message.jsp)页面中以表格的形式(留言者用户名、留言标题、留言时间)显示出所有的用户留言,点击一个标题后,可以在新页面(showmessage.jsp)中显示留言的内容;3)在留言页面addMessage.jsp可以添加新的留言。留言包括:标题、内容。
说明:(1)采用JSP+JavaBean结构;(2)所有的留言内容需要存储到服务器的文件中。
一、在WebContent文件下创建jsp
login页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户登陆界面</title>
</head>
<body>
<h3>请填写用户信息</h3>
<form action="addMessage.jsp" method=post><!-- 将信息发送给自己 -->
用户名:<input type="text" name="name" size=20>
<br><br><br>
密 码: <input type="password" name="psw" size=20>
<br><br><br>
<input type="submit" value="登陆">
</form>
</body>
</html>
addMessage页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<%
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");//处理中文
String name=request.getParameter("name");//获取name对应的值
if(name==null)
{
name="";
}
else
{
session.setAttribute("name",name);
}
%>
<title>留言界面</title>
</head>
<body>
<h1 >请留言</h1>
<form action="showmessage.jsp" method="post">
<table style="margin-left: 37%" border="1">
<caption>填写留言信息</caption>
<tr><td>留言标题</td>
<td><input type="text" name="title"/></td></tr>
<tr><td>留言内容</td>
<td><textarea name="message" rows="5" cols="35"></textarea></td>
</tr>
</table>
<input type="submit" value="提交">
</form>
</body>
</html>
showmessage页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="project.MessBoar" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%//@ page import="java.sql.*" %>
<%@ page import="java.text.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>查看留言</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");//处理中文
response.setCharacterEncoding("utf-8");
String title=request.getParameter("title");
String message=request.getParameter("message");
String name=(String)session.getAttribute("name");
if(name==null)
{%>
<h1>您还未登陆,请跳转到登陆界面;
<% response.sendRedirect("login.jsp");//若没有登陆的话,自动跳转到点登陆界面
}
%>
用户:<%=name%>
标题:<%=title%>
内容:<%=message %>
<%!ArrayList<MessBoar> a=new ArrayList<MessBoar>();//一定是声明为全局变量 %>
<%
//java.sql.Date currentDate = new java.sql.Date(System.currentTimeMillis());
Date d = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = df.format(d);
//ArrayList<MessBoar> a=new ArrayList<MessBoar>();
MessBoar m=new MessBoar();
m.setName(name);
m.setMessage(message);
m.setTitle(title);
m.setTime(now);
a.add(m);
application.setAttribute("a",a);
%>
<%
request.setCharacterEncoding("utf-8");
BufferedWriter bw=null;
try
{
String path="E:/JAVA_EE/Project7/WebContent/WEB-INF/aa.txt";
bw=new BufferedWriter(new FileWriter(path,true));
StringBuilder sb=new StringBuilder();
sb.append(name+"\t");
sb.append(title+"\t");
sb.append(message+"\t");
String ma=sb.toString();
bw.write(ma);
bw.newLine();
//response.sendRedirect("showmessage.jsp");
}
catch(IOException e)
{
System.out.println(e);
}
finally
{
try
{
bw.close();
}
catch(IOException e)
{
System.out.println(e);
}
}
%>
<br><br>
<a style="margin-left:22%" href="message.jsp">留言板</a>
</body>
</html>
message页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="project.MessBoar" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>留言主板界面</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");//处理中文
response.setCharacterEncoding("utf-8");
String name=(String)session.getAttribute("name");//注意返回值是Object类型的
%>
<h1 style="margin-left:5%">留言板主界面</h1>
<form action="" method="post">
<table border="1">
<caption>所有人留言信息</caption>
<tr><th>留言人姓名</th><th>留言时间</th>
<th>留言标题</th><th>留言内容</th></tr>
<%
ArrayList<MessBoar> a=(ArrayList<MessBoar>)application.getAttribute("a");
if(name!=null)
{
Iterator<MessBoar> it = a.iterator();
while(it.hasNext())
{
MessBoar mb=it.next();
String namee=mb.getName();
String timee=mb.getTime();
String titlee=mb.getTitle();
String messagee=mb.getMessage();
%>
<tr><td><%= mb.getName()%></td>
<td><%= mb.getTime() %></td>
<td><a style="margin-left:22%" href="show.jsp?param1=<%=java.net.URLEncoder.encode(mb.getName(),"utf-8")%>¶m2=<%= mb.getTime()%>¶m3=<%= java.net.URLEncoder.encode(mb.getTitle(),"utf-8") %>¶m4=<%= java.net.URLEncoder.encode(mb.getMessage(),"utf-8") %>"><%= mb.getTitle() %></a></td>
<!-- 中文字还需要解码 -->
<td><%= mb.getMessage() %></td>
<%
}
}
%>
</table>
</form>
<a style="margin-left:22%" href="addMessage.jsp">开始新的留言</a>
</body>
</html>
show页面(标题连接)
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="project.MessBoar" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>留言内容</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String name=(String)session.getAttribute("name");
if(name==null)
{%>
<h1>您还未登陆,请跳转到登陆界面;
<% response.sendRedirect("login.jsp");//若没有登陆的话,自动跳转到点登陆界面
}
%>
姓名:<%//= m.getName()%><%=request.getParameter("param1") %><br><br>
时间:<%//= m.getName()%><%=request.getParameter("param2") %><br><br>
标题:<%//= m.getName()%><%=request.getParameter("param3") %><br><br>
内容:<%//= m.getMessage()%><%=request.getParameter("param4") %><br><br>
<br><br>
<a style="margin-left:22%" href="message.jsp">返回留言板</a>
</body>
</html>