JAVA实验七

版权声明:本文为博主原创文章,未经博主允许不得转载。 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>
密&nbsp;&nbsp;&nbsp;码:    <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")%>&param2=<%= mb.getTime()%>&param3=<%= java.net.URLEncoder.encode(mb.getTitle(),"utf-8") %>&param4=<%= 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>

猜你喜欢

转载自blog.csdn.net/fighting123678/article/details/85300938