JSP第十二周作业
数据库连接
MsgDao
1 package Dao; 2 3 import java.sql.Connection; 4 5 import java.util.Date; 6 import java.sql.PreparedStatement; 7 import java.sql.ResultSet; 8 import java.sql.SQLException; 9 import java.util.ArrayList; 10 import java.util.List; 11 12 public class MsgDao extends baseDao { 13 14 // 添加邮件(写邮件、回复邮件都调用,邮件状态为未读=0,时间为系统时间) 15 public void addMsg(Msg m) { 16 Connection con = getConnection(); 17 String sql = "insert into msg(username,sendto,title,msgcontent,msg_create_date,state) values(?,?,?,?,?,0)"; 18 PreparedStatement ps = null; 19 try { 20 ps = con.prepareStatement(sql); 21 ps.setString(1, m.getUsername()); 22 ps.setString(2, m.getSendto()); 23 ps.setString(3, m.getTitle()); 24 ps.setString(4, m.getMsgcontent()); 25 ps.setDate(5, new java.sql.Date(new Date().getTime())); 26 ps.executeUpdate(); 27 } catch (Exception e) { 28 // TODO: handle exception 29 e.printStackTrace(); 30 } finally { 31 closeAll(con, ps, null); 32 } 33 } 34 35 // 根据id删除邮件 36 public int deleteMsg(int msgId) { 37 int t = -1; 38 PreparedStatement ps = null; 39 Connection con = getConnection(); 40 String sql = "delete from msg where eid=?"; 41 try { 42 ps = con.prepareStatement(sql); 43 ps.setInt(1, msgId); 44 t = ps.executeUpdate(); 45 } catch (SQLException e) { 46 // TODO Auto-generated catch block 47 e.printStackTrace(); 48 } finally { 49 closeAll(con, ps, null); 50 } 51 52 return t; 53 54 } 55 56 // 根据id修改邮件状态(统一改成1) 57 public Msg chakan(int msgid) { 58 Msg m = null; 59 Connection con = getConnection(); 60 ResultSet rs = null; 61 PreparedStatement ps = null; 62 String sql = "select * from msg where eid=?"; 63 try { 64 ps = con.prepareStatement(sql); 65 ps.setInt(1, msgid); 66 rs = ps.executeQuery(); 67 while (rs.next()) { 68 m = new Msg(); 69 m.setMsgid(rs.getInt("eid")); 70 m.setUsername(rs.getString("username")); 71 m.setTitle(rs.getString("title")); 72 m.setMsgcontent(rs.getString("msgcontent")); 73 m.setState(rs.getInt("state")); 74 m.setSendto(rs.getString("sendto")); 75 m.setMsg_create_date(rs.getDate("msg_create_date")); 76 } 77 } catch (SQLException e) { 78 // TODO Auto-generated catch block 79 e.printStackTrace(); 80 } finally { 81 closeAll(con, ps, rs); 82 } 83 return m; 84 } 85 86 public int xiugai(int msgid) { 87 int t = -1; 88 Connection con = getConnection(); 89 PreparedStatement ps = null; 90 String sql = "update msg set state=1 where msgid=?"; 91 try { 92 ps = con.prepareStatement(sql); 93 ps.setInt(1, msgid); 94 t = ps.executeUpdate(); 95 } catch (SQLException e) { 96 // TODO Auto-generated catch block 97 e.printStackTrace(); 98 } finally { 99 closeAll(con, ps, null); 100 } 101 return t; 102 } 103 104 // 根据收件人查看邮件 105 public List<Msg> getMailByReceiver(String name) { 106 List<Msg> list = new ArrayList<Msg>(); 107 Connection con = getConnection(); 108 String sql = "select * from msg where username=?"; 109 PreparedStatement ps = null; 110 ResultSet rs = null; 111 try { 112 ps = con.prepareStatement(sql); 113 ps.setString(1, name); 114 rs = ps.executeQuery(); 115 while (rs.next()) { 116 Msg m = new Msg(); 117 m.setMsgid(rs.getInt("eid")); 118 m.setUsername(rs.getString("username")); 119 m.setTitle(rs.getString("title")); 120 m.setMsgcontent(rs.getString("msgcontent")); 121 m.setSendto(rs.getString("sendto")); 122 m.setMsg_create_date(rs.getDate("msg_create_date")); 123 m.setState(rs.getInt("state")); 124 list.add(m); 125 } 126 127 } catch (SQLException e) { 128 // TODO Auto-generated catch block 129 e.printStackTrace(); 130 } finally { 131 closeAll(con, ps, rs); 132 } 133 return list; 134 } 135 136 }
主页
main.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 3 <html> 4 <head> 5 6 <title></title> 7 <%@ page import="Dao.MsgDao"%> 8 <%@ page import="Dao.Msg"%> 9 <style type="text/css"> 10 table { 11 border: 1px black solid; 12 width: 500px; 13 } 14 15 tr { 16 border: 1px black solid; 17 } 18 </style> 19 </head> 20 21 <body> 22 23 <% 24 String name = (String) session.getAttribute("uname"); 25 %> 26 <% 27 out.println(name); 28 %>的邮箱: 29 <a href="write.jsp">写邮件</a> 30 <br> 31 <% 32 MsgDao m = new MsgDao(); 33 List<Msg> list = m.getMailByReceiver(name); 34 %> 35 36 <table border="1"> 37 <tr> 38 <td>发件人</td> 39 <td>收件人</td> 40 <td>标题</td> 41 <td>状态</td> 42 <td>时间</td> 43 <td>回复</td> 44 <td>删除</td> 45 </tr> 46 <% 47 for (int i = 0; i < list.size(); i++) { 48 %> 49 <tr> 50 <td><%=list.get(i).getUsername()%></td> 51 <td><a href="look.jsp?id=<%=list.get(i).getMsgid()%>"><%=list.get(i).getSendto()%></a> 52 </td> 53 <td><%=list.get(i).getTitle()%></td> 54 <td> 55 <% 56 if (list.get(i).getState() == 0) { 57 %><img src="image/weidu.png" /> <% 58 } else { 59 %> <img src="image/yidu.png" /> <% 60 } 61 %> 62 </td> 63 64 <td><%=list.get(i).getMsg_create_date()%></td> 65 <td><a href="write.jsp?reply=<%=list.get(i).getSendto()%>">回复 66 67 </td> 68 <td><a href="delete.jsp?msgid=<%=list.get(i).getMsgid()%>">删除 69 70 </td> 71 <% 72 } 73 %> 74 75 </table> 76 </body> 77 </html>
写邮件(回复邮件)
write.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 3 <!DOCTYPE HTML> 4 <html> 5 <head> 6 <title></title> 7 </head> 8 <body> 9 <form action="dowrite.jsp" method="post"> 10 <table> 11 <tr> 12 <td>收件人</td> 13 <td><input type="text" name="sendto" 14 value="<%=request.getParameter("reply")%>"></td> 15 </tr> 16 <tr> 17 <td>主题</td> 18 <td><input type="text" name="title"></td> 19 </tr> 20 <tr> 21 <td>内容</td> 22 <td><textarea rows="6" cols="20" name="content"></textarea></td> 23 </tr> 24 <tr> 25 <td><input type="submit" value="发送"></td> 26 </tr> 27 </table> 28 </form> 29 <a href="main.jsp">返回</a> 30 </body> 31 </html>
dowrite.jsp
1 <%@page import="Dao.MsgDao"%> 2 <%@page import="Dao.Msg"%> 3 4 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 5 6 <!DOCTYPE HTML> 7 <html> 8 <head> 9 <title></title> 10 </head> 11 <body> 12 <% 13 request.setCharacterEncoding("utf-8"); 14 Msg e = new Msg(); 15 String username = (String) session.getAttribute("uname"); 16 e.setUsername(username); 17 String sendto = request.getParameter("sendto"); 18 e.setSendto(sendto); 19 String title = request.getParameter("title"); 20 e.setTitle(title); 21 String msgcontent = request.getParameter("msgcontent"); 22 e.setMsgcontent(msgcontent); 23 MsgDao md = new MsgDao(); 24 md.addMsg(e); 25 26 out.print("发送成功,即将跳回首页..."); 27 response.setHeader("refresh", "1;url=main.jsp"); 28 %> 29 30 </body> 31 </html>
阅读邮件(点击收件人)
look.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 3 <html> 4 <head> 5 6 <title></title> 7 8 </head> 9 <%@ page import="Dao.MsgDao"%> 10 <body> 11 <% 12 String Id = request.getParameter("id"); 13 int msgid = Integer.parseInt(Id); 14 MsgDao md = new MsgDao(); 15 md.xiugai(msgid); 16 out.println(md.chakan(msgid)); 17 %> 18 <br> 19 <a href="main.jsp">返回</a> 20 </body> 21 </html>
删除邮件
delete.jsp
1 <%@page import="Dao.MsgDao"%> 2 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 3 <html> 4 <head> 5 <title></title> 6 </head> 7 8 <body> 9 <% 10 try { 11 String msgid = request.getParameter("msgid"); 12 int msgId = Integer.parseInt(msgid); 13 MsgDao md = new MsgDao(); 14 if (md.deleteMsg(msgId) != -1) { 15 out.println("删除成功!"); 16 out.println("即将跳转到主页面..."); 17 response.setHeader("refresh", "1;url=main.jsp"); 18 } else { 19 out.println("删除失败!"); 20 out.println("即将跳转到主页面..."); 21 response.setHeader("refresh", "1;url=main.jsp"); 22 } 23 } catch (Exception e) { 24 e.printStackTrace(); 25 } 26 %> 27 </body> 28 </html>
截图