Centos7 检查指定软件包是否已安装
860 2023-04-03 04:20:23
1.实现 删除 回复邮件
2.实现阅读邮件功能:在main.jsp中点击任意邮件的标题,进入到detail.jsp显示邮件详情,包括发件人,主题,内容,时间。同时需要把邮件状态修改为已读。
com.gd.dao
1 package com.gd.dao; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 9 public class BaseDao {10 //获取连接11 protected Connection getConnection(){12 Connection conn=null;13 try {14 Class.forName("com.mysql.jdbc.Driver");15 // 2.建立连接16 conn = DriverManager.getConnection(17 "jdbc:mysql://localhost:3306/test", "root", "123456");18 } catch (Exception e) {19 e.printStackTrace();20 } 21 return conn;22 } 23 //关闭连接24 protected void closeAll(Connection con,PreparedStatement ps,ResultSet rs){ 25 try {26 if(rs != null)27 rs.close();28 if(ps != null)29 ps.close();30 if(con != null)31 con.close();32 33 } catch (SQLException e) {34 e.printStackTrace();35 }36 }37 38 }
1 package com.gd.dao; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.util.ArrayList; 8 import java.util.Date; 9 import java.util.List; 10 11 import com.gd.entity.Msg; 12 13 public class MsgDao extends BaseDao { 14 //根据收件人查看全部邮件 15 public List<Msg> getMailByReceiver(String name){ 16 List<Msg> list=new ArrayList<Msg>(); 17 Connection con=getConnection(); 18 String sql="select * from msg where sendto=?"; 19 PreparedStatement ps=null; 20 ResultSet rs=null; 21 try { 22 ps = con.prepareStatement(sql); 23 ps.setString(1, name); 24 rs=ps.executeQuery(); 25 while(rs.next()){ 26 //每读取一行,创建一个msg对象,对象放到集合中 27 Msg m=new Msg(); 28 m.setMsgid(rs.getInt(1)); 29 m.setUsername(rs.getString(2)); 30 m.setTitle(rs.getString(3)); 31 m.setMsgcontent(rs.getString(4)); 32 m.setState(rs.getInt(5)); 33 m.setSendto(rs.getString(6)); 34 m.setMsg_create_date(rs.getDate(7)); 35 list.add(m); 36 } 37 38 } catch (SQLException e) { 39 // TODO Auto-generated catch block 40 e.printStackTrace(); 41 }finally{ 42 closeAll(con, ps, rs); 43 } 44 return list; 45 } 46 //关于邮件的增删改查 47 //添加邮件(写邮件,回复邮件都调用,邮件状态为1(未读),时间为系统当前时间) 48 public void addMsg(Msg m){ 49 Connection conn=getConnection(); 50 String sql="insert into msg(username,title,msgcontent,state,sendto,msg_create_date) values(?,?,?,1,?,?)"; 51 PreparedStatement ps=null; 52 try { 53 ps=conn.prepareStatement(sql); 54 ps.setString(1, m.getUsername()); 55 ps.setString(2, m.getTitle()); 56 ps.setString(3, m.getMsgcontent()); 57 ps.setString(4, m.getSendto()); 58 ps.setDate(5, new java.sql.Date(new Date().getTime())); 59 ps.executeUpdate(); 60 } catch (SQLException e) { 61 // TODO Auto-generated catch block 62 e.printStackTrace(); 63 }finally{ 64 closeAll(conn, ps, null); 65 } 66 } 67 68 //根据id删除邮件 69 public void delMsg(int id){ 70 Connection con=getConnection(); 71 String sql="delete from msg where msgid="+id; 72 PreparedStatement ps=null; 73 try { 74 ps=con.prepareStatement(sql); 75 ps.executeUpdate(); 76 } catch (SQLException e) { 77 // TODO Auto-generated catch block 78 e.printStackTrace(); 79 }finally{ 80 closeAll(con, ps, null); 81 } 82 } 83 public void updateMsg(int id) { 84 Connection con = getConnection(); 85 String sql = "update msg set state='1' where msgid=?"; 86 PreparedStatement pred = null; 87 try { 88 pred = con.prepareStatement(sql); 89 pred.setInt(1, id); 90 pred.executeUpdate(); 91 } catch (SQLException e1) { 92 e1.printStackTrace(); 93 } finally { 94 closeAll(con, pred, null); 95 } 96 } 97 98 public Msg read(int id) { 99 Connection con = getConnection();100 String sql = "select msgid,username,sendto,title,msgcontent,msg_create_date from msg where msgid=?";101 PreparedStatement ps = null;102 ResultSet rs = null;103 try {104 ps = con.prepareStatement(sql);105 ps.setInt(1, id);106 rs = ps.executeQuery();107 while (rs.next()) {108 Msg m = new Msg();109 m.setMsgid(rs.getInt("msgid"));110 m.setUsername(rs.getString("username"));111 m.setTitle(rs.getString("title"));112 m.setMsgcontent(rs.getString("msgcontent"));113 m.setSendto(rs.getString("sendto"));114 m.setMsg_create_date(rs.getDate("msg_create_date"));115 return m;116 }117 118 } catch (SQLException e) {119 e.printStackTrace();120 } finally {121 closeAll(con, ps, rs);122 }123 return null;124 }125 }
1 package com.gd.dao; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 8 public class UsersDao extends BaseDao { 9 // 登陆10 public boolean login(String uname, String upwd) {11 boolean f = false;12 Connection conn = getConnection();13 String sql = "select * from users where uname=? and upwd=?";14 PreparedStatement ps = null;15 ResultSet rs = null;16 try {17 ps = conn.prepareStatement(sql);18 ps.setString(1, uname);// 第一个?赋值为name19 ps.setString(2, upwd);20 rs = ps.executeQuery();21 if (rs.next())// 查到结果了22 f = true;23 } catch (SQLException e) {24 // TODO Auto-generated catch block25 e.printStackTrace();26 } finally {27 closeAll(conn, ps, rs);28 }29 return f;30 }31 // 注册32 public int reg(String uname,String upwd){33 int i=-1;34 PreparedStatement pred=null;35 Connection con=getConnection();36 String sql="insert into users(uname,upwd)values(?,?)";37 try {38 pred= con.prepareStatement(sql);39 pred.setString(1, uname);40 pred.setString(2, upwd);41 i=pred.executeUpdate();42 } catch (SQLException e) {43 e.printStackTrace();44 }finally{45 closeAll(con, pred, null);46 }47 return i;48 }49 }
com.gd.entity
1 package com.gd.entity; 2 3 import java.util.Date; 4 5 public class Msg { 6 private Integer msgid; 7 private String username; 8 private String title; 9 private String msgcontent;10 private int state;11 private String sendto;12 private Date msg_create_date;13 14 public Msg() {15 super();16 // TODO Auto-generated constructor stub17 }18 19 public Msg(Integer msgid, String username, String title, String msgcontent,20 int state, String sendto, Date msg_create_date) {21 super();22 this.msgid = msgid;23 this.username = username;24 this.title = title;25 this.msgcontent = msgcontent;26 this.state = state;27 this.sendto = sendto;28 this.msg_create_date = msg_create_date;29 }30 31 public Integer getMsgid() {32 return msgid;33 }34 35 public void setMsgid(Integer msgid) {36 this.msgid = msgid;37 }38 39 public String getUsername() {40 return username;41 }42 43 public void setUsername(String username) {44 this.username = username;45 }46 47 public String getTitle() {48 return title;49 }50 51 public void setTitle(String title) {52 this.title = title;53 }54 55 public String getMsgcontent() {56 return msgcontent;57 }58 59 public void setMsgcontent(String msgcontent) {60 this.msgcontent = msgcontent;61 }62 63 public int getState() {64 return state;65 }66 67 public void setState(int state) {68 this.state = state;69 }70 71 public String getSendto() {72 return sendto;73 }74 75 public void setSendto(String sendto) {76 this.sendto = sendto;77 }78 79 public Date getMsg_create_date() {80 return msg_create_date;81 }82 83 public void setMsg_create_date(Date msg_create_date) {84 this.msg_create_date = msg_create_date;85 }86 87 88 }
1 package com.gd.entity; 2 3 public class Users { 4 private Integer id; 5 private String uname; 6 private String upwd; 7 8 public Users() { 9 super();10 // TODO Auto-generated constructor stub11 }12 13 public Users(Integer id, String uname, String upwd) {14 super();15 this.id = id;16 this.uname = uname;17 this.upwd = upwd;18 }19 20 public Integer getId() {21 return id;22 }23 24 public void setId(Integer id) {25 this.id = id;26 }27 28 public String getUname() {29 return uname;30 }31 32 public void setUname(String uname) {33 this.uname = uname;34 }35 36 public String getUpwd() {37 return upwd;38 }39 40 public void setUpwd(String upwd) {41 this.upwd = upwd;42 }43 44 }
jsp
reg.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <title>My JSP 'reg.jsp' starting page</title> 6 </head> 7 8 <body> 9 <h1>注册</h1>10 <script>11 function yz() {12 if (form.uname.value == "") {13 alert('用户名不能为空');14 return;15 }16 if (form.upwd.value == "") {17 alert('密码不能为空');18 return;19 }20 form.submit();21 }22 </script>23 <form action="doreg.jsp" method="post" name="form">24 <table>25 <tr>26 <td>用户名</td>27 <td><input type="text" name="uname"></td>28 </tr>29 <tr>30 <td>密码</td>31 <td><input type="password" name="upwd" value="123456"></td>32 </tr>33 <tr>34 <td><input type="button" value="注册" onclick="yz()"></td>35 <td><a href="denglu.jsp">登录</a></td>36 </tr>37 </table>38 </form>39 </body>40 </html>
doreg.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@page import="com.gd.dao.UsersDao"%> 3 <% 4 request.setCharacterEncoding("utf-8"); 5 response.setCharacterEncoding("utf-8"); 6 %> 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9 <head>10 <title>My JSP 'doreg.jsp' starting page</title>11 </head>12 <body>13 <%14 String uname = request.getParameter("uname");15 String upwd = request.getParameter("upwd");16 UsersDao ud = new UsersDao();17 int i = ud.reg(uname, upwd);18 if (i > 0) {19 out.print("注册成功,即将跳到登录页.....");20 response.setHeader("refresh", "2;url=denglu.jsp");21 } else {22 out.print("注册失败,即将跳回注册页.....");23 response.setHeader("refresh", "2;url=reg.jsp");24 }25 %>26 </body>27 </html>
denglu.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <title>My JSP 'denglu.jsp' starting page</title> 6 </head> 7 8 <body> 9 <h1>登录</h1>10 <script type="text/javascript">11 function validate() {12 if (loginForm.uname.value == "") {13 alert("账号不能为空!");14 return;15 }16 if (loginForm.upwd.value == "") {17 alert("密码不能为空!");18 return;19 }20 loginForm.submit();21 }22 </script>23 <form name="loginForm" action="dologin.jsp" method="post">24 用户名:<input type="text" name="uname"><br> 密码: <input25 type="password" name="upwd" value="123456"><br> <input26 type="button" value="登录" onClick="validate()"> <a27 href="reg.jsp">立即注册</a>28 </form>29 </body>30 </html>
dologin.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@page import="com.gd.dao.UsersDao"%> 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 4 <html> 5 <head> 6 <title>My JSP 'dologin.jsp' starting page</title> 7 </head> 8 <body> 9 <%10 request.setCharacterEncoding("utf-8");11 String uname = request.getParameter("uname");12 String upwd = request.getParameter("upwd");13 UsersDao ud = new UsersDao();14 if (ud.login(uname, upwd)) {15 session.setAttribute("uname", uname);16 request.getRequestDispatcher("main.jsp").forward(request,17 response);18 } else {19 out.print("登陆失败,即将跳回登陆页.....");20 response.setHeader("refresh", "5;url=denglu.jsp");21 }22 %>23 </body>24 </html>
main.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@page import="com.gd.entity.Msg"%> 3 <%@page import="com.gd.dao.MsgDao"%> 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 5 <html> 6 <head> 7 <title>My JSP 'main.jsp' starting page</title> 8 </head> 9 <body>10 <%11 MsgDao md = new MsgDao();12 String uname = (String) session.getAttribute("uname");13 List<Msg> list = md.getMailByReceiver(uname);14 %>15 欢迎你<%=uname%>16 <a href="write.jsp">写邮件</a>17 <a href="exit.jsp">退出登录</a>18 <table border="1">19 <tr>20 <td>发件人</td>21 <td>主题</td>22 <td>状态</td>23 <td>时间</td>24 <td>操作</td>25 <td>操作</td>26 </tr>27 28 <%29 for (int i = 0; i < list.size(); i++) {30 %>31 <tr>32 <td><%=list.get(i).getUsername()%></td>33 <td><a href="detail.jsp?id=<%=list.get(i).getMsgid()%>"> 34 <%out.print(list.get(i).getTitle().toString());%>35 </a>36 </td>37 <td>38 <%39 if (list.get(i).getState() == 1) {40 %> <img src="images/sms_unReaded.webp" /> <%41 } else {42 %> <img src="images/sms_readed.webp" /> <%43 }44 %>45 </td>46 <td><%=list.get(i).getMsg_create_date()%></td>47 <td><a href="write.jsp?reply=<%=list.get(i).getUsername()%>">回复</a>48 </td>49 <td><a href="del.jsp?id=<%=list.get(i).getMsgid()%>">删除</a>50 </td>51 </tr>52 <%53 }54 %>55 </table>56 57 </body>58 </html>
write.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 request.setCharacterEncoding("utf-8"); 4 response.setCharacterEncoding("utf-8"); 5 %> 6 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 7 <html> 8 <head> 9 <title>My JSP 'write.jsp' starting page</title>10 </head> 11 <body>12 <form action="dowrite.jsp" method="post"> 13 收件人:<input type="text" name="sendto" value="<%=request.getParameter("reply") %>"><br> 14 主题: <input type="text" name="title" ><br>15 内容:<textarea rows="6" cols="20" name="content"></textarea>16 <br>17 <input type="submit" value="发送"> 18 </form>19 </body>20 </html>
dowrite.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@page import="com.gd.entity.Msg"%> 3 <%@page import="com.gd.dao.MsgDao"%> 4 <%@page import="com.gd.dao.UsersDao"%> 5 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 6 <html> 7 <head> 8 <title>My JSP 'dowrite.jsp' starting page</title> 9 </head>10 <body>11 <%12 request.setCharacterEncoding("utf-8");13 14 String uname=(String)session.getAttribute("uname");// 发件人在session中获取15 String sendto=request.getParameter("sendto");16 String title=request.getParameter("title");17 String content=request.getParameter("content");18 19 Msg m=new Msg();20 m.setTitle(title);21 m.setMsgcontent(content);22 m.setUsername(uname);23 m.setSendto(sendto);24 25 MsgDao md=new MsgDao();26 md.addMsg(m);27 28 out.print("发送成功,即将跳回首页.....");29 response.setHeader("refresh", "3;url=main.jsp");30 %>31 </body>32 </html>
detail.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@page import="com.gd.dao.MsgDao"%> 3 <%@page import="com.gd.entity.Msg"%> 4 <% 5 request.setCharacterEncoding("utf-8"); 6 response.setCharacterEncoding("utf-8"); 7 %> 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9 <html>10 <head>11 <title>My JSP 'index.jsp' starting page</title>12 </head>13 <body>14 <%15 request.setCharacterEncoding("utf-8");16 String msgid = request.getParameter("id");17 int idd = Integer.parseInt(msgid);18 MsgDao md = new MsgDao();19 md.updateMsg(idd);20 Msg m = md.read(idd);21 %>22 <table>23 <tr>24 <td>发件人:</td>25 <td><input type="text" name="username" style="border: none"26 value="<%=m.getUsername()%>"></td>27 </tr>28 <tr>29 <td>主题:</td>30 <td><input type="text" name="title" style="border: none"31 value="<%=m.getTitle()%>"></td>32 </tr>33 <tr>34 <td>时间:</td>35 <td><input type="text" name="msg_create_date"36 style="border: none" value="<%=m.getMsg_create_date()%>"></td>37 </tr>38 <tr>39 <td>收件人:</td>40 <td><input type="text" name="sendto" style="border: none"41 value="<%=m.getSendto()%>"></td>42 </tr>43 <tr>44 <td>内容:</td>45 <td><div style="border: none;outline: none;overflow: inherit;">46 <%=m.getMsgcontent()%></div></td>47 </tr>48 </table>49 <a href="main.jsp">返回</a>50 </body>51 </html>
del.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@page import="com.gd.entity.Msg"%> 3 <%@page import="com.gd.dao.MsgDao"%> 4 <%@page import="com.gd.dao.UsersDao"%> 5 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 6 <html> 7 <head> 8 <title>My JSP 'del.jsp' starting page</title> 9 </head>10 <body>11 <%12 request.setCharacterEncoding("utf-8");13 int id=Integer.parseInt(request.getParameter("id"));14 MsgDao md=new MsgDao();15 md.delMsg(id);16 out.print("删除成功、、、、、、、");17 response.sendRedirect("main.jsp");18 %>19 </body>20 </html>
exit.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 4 <html> 5 <head> 6 <title>My JSP 'exit.jsp' starting page</title> 7 </head> 8 9 <body>10 <%11 session.invalidate();12 response.sendRedirect("reg.jsp");13 %>14 </body>15 </html>
删除
回复:
查看内容: