JSP简单的邮件系统
1.建库,建表2个
用户表(id,用户名,密码)
邮件表(id,发件人,收件人,标题,内容,发送时间,状态)
2.建model层
entity,dao包
3.登陆,注册,登陆后显示全部邮件
//mail_BaseDao.java
public class mail_BaseDao { protected Connection getConnection() { Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mailbox", "root", "123456"); } catch (Exception e) { e.printStackTrace(); } return conn; } protected void closeAll(Connection con, PreparedStatement ps, ResultSet rs) { try { if (rs != null) rs.close(); if (ps != null) ps.close(); if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } }
//mail_UserDao.java
public class mail_UserDao extends mail_BaseDao{ public boolean login(String name, String pwd) { boolean f = false; Connection conn = getConnection(); String sql = "select * from tb_user where username=? and password=?"; PreparedStatement ps = null; ResultSet rs = null; try { ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setString(2, pwd); rs = ps.executeQuery(); if (rs.next()) f = true; } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(conn, ps, rs); } return f; } public void reg(String username, String password) { Connection conn = getConnection(); PreparedStatement ps = null; try { String sql = "insert into tb_user(username,password) values(?,?)"; ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(conn, ps, null); } } }
//MailDao.java
public class MailDao extends mail_BaseDao { public List<mail> getMailByReceiver(String name){ List<mail> list=new ArrayList<mail>(); Connection conn=getConnection(); String sql="select * from tb_mail where addressee=?"; PreparedStatement ps=null; ResultSet rs=null; try { ps = conn.prepareStatement(sql); ps.setString(1, name); rs=ps.executeQuery(); while(rs.next()){ mail m=new mail(); m.setId(rs.getInt(1)); m.setSender(rs.getString(2)); m.setAddressee(rs.getString(3)); m.setTitle(rs.getString(4)); m.setContent(rs.getString(5)); m.setTime(rs.getString(6)); m.setState(rs.getInt(7)); list.add(m); } } catch (SQLException e) { e.printStackTrace(); }finally{ closeAll(conn, ps, rs); } return list; } }
//MailUsers.java
public class MailUsers { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "MailUsers{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
public class mail { private Integer id; private String Sender; private String addressee; private String title; private String content; private String time; private Integer state; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getSender() { return Sender; } public void setSender(String sender) { Sender = sender; } public String getAddressee() { return addressee; } public void setAddressee(String addressee) { this.addressee = addressee; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } public Integer getState() { return state; } public void setState(Integer state) { this.state = state; } @Override public String toString() { return "mail{" + "id=" + id + ", Sender='" + Sender + '\'' + ", addressee='" + addressee + '\'' + ", title='" + title + '\'' + ", content='" + content + '\'' + ", time='" + time + '\'' + ", state=" + state + '}'; } }
//Login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录</title> </head> <body> <script type="text/javascript"> function check() { if (login.account.value==""){ alert("请输入账号!"); return; }else if(login.psw.value=="") { alert("请输入密码!"); return; } login.submit(); } </script> <form action="checkLog.jsp" method="post" name="login"> 账号:<input type="text" name="account"><br> 密码:<input type="password" name="psw"><br> <input type="button" value="登录" onclick="check()"> </form><br> <form action="Register.jsp" method="post"> <input type="submit" value="立即注册账户"> </form> </body> </html>
//checkLog.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% String account=request.getParameter("account"); String psw=request.getParameter("psw"); mail_UserDao mail_userDao = new mail_UserDao(); if (mail_userDao.login(account,psw)){ session.setAttribute("account",account); request.getRequestDispatcher("LogSuccess.jsp").forward(request,response); }else { request.getRequestDispatcher("LogFail.jsp").forward(request,response); } %> </body> </html>
//Register.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>注册</title> </head> <body> <script type="text/javascript"> function check() { if (login.account.value==""){ alert("请输入账号!"); return; }else if(login.psw.value=="") { alert("请输入密码!"); return; }else if(login.psw1.value=="") { alert("请再次输入密码!"); return; } var pwd = document.getElementById("pwd").value; var pwd1 = document.getElementById("pwd1").value; if (pwd==pwd1){ alert("注册成功!"); login.submit(); }else { alert("两次输入密码不一样!"); return; } } </script> <form action="checkReg.jsp" method="post" name="login"> 请输入账号:<input type="text" name="account"><br> 请输入密码:<input type="password" name="psw" id="pwd"><br> 请再次输入密码:<input type="password" name="psw1" id="pwd1"><br> <input type="button" value="注册" onclick="check()"> </form> <form action="Login.jsp" method="post"> <input type="submit" value="已有账号?前往登录"> </form> </body> </html>
//checkReg.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% String account=request.getParameter("account"); String psw=request.getParameter("psw"); String psw1=request.getParameter("psw1"); if (psw.equals(psw1)) { mail_UserDao mail_userDao = new mail_UserDao(); mail_userDao.reg(account,psw); request.getRequestDispatcher("Login.jsp").forward(request,response); } else { request.getRequestDispatcher("Register.jsp").forward(request,response); } %> </body> </html>
//LogSuccess.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>我的邮件</title> </head> <body> <% String account = (String) session.getAttribute("account"); MailDao mailDao = new MailDao(); List<mail> mails = mailDao.getMailByReceiver("JJ"); %> <h1>欢迎!<%=account%> </h1> <table border="1"> <tr> <td>发件人</td> <td>标题</td> <td>状态</td> <td>时间</td> </tr> <% for (int i = 0; i < mails.size(); i++) { mail m = mails.get(i); %> <tr> <td><%out.print(m.getSender());%></td> <td><%out.print(m.getTitle());%></td> <td><% if (m.getState() == 1) { out.print("已读"); } else { out.print("未读"); } %></td> <td><%out.print(m.getTime());%></td> </tr> <%}%> </table> </body> </html>
//LogFail.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登陆失败</title> </head> <body> <h1>登陆失败</h1> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器