MailService
package mail.service; import java.util.List; import mail.dao.DaoFactory;
import mail.dao.MailDao;
import mail.dao.UserDao;
import mail.domain.Mail;
import mail.domain.User; public class MailService {
private UserDao userDao = DaoFactory.getUserDao();
private MailDao mailDao = DaoFactory.getMailDao(); public User login(User form) throws UserException {
/*
* 使用form中的username进行查询
*/
User user = userDao.findByUsername(form.getUsername());
/*
* 如果返回null说明用户名不存在,抛出异常,异常信息为"用户名不存在"
*/
if (user == null) {
throw new UserException("用户名不存在");
}
/*
* 比较user的password和form的password,如果不同抛出异常
*/
if (!form.getPassword().equals(user.getPassword())) {
throw new UserException("密码错误");
}
return user;
}
public List<Mail> findByName(String username){
List<Mail> mail = mailDao.findByName(username);
return mail; }
public Mail findById(int id){
Mail mail = mailDao.findById(id);
return mail; }
public void addMail(Mail mail) {
mailDao.addMail(mail);
}
public void deleteById(int id) {
mailDao.deleteById(i

MailServlet
package mail.web.servlet;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import javax.mail.Session;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.junit.Test; import mail.domain.Mail;
import mail.domain.User;
import mail.service.MailService;
import mail.service.UserException;
import cn.itcast.servlet.BaseServlet; public class MailServlet extends BaseServlet { public String login(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
User form = new User();
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email"); form.setUsername(username);
form.setPassword(password);
form.setEmail(email); try {
MailService us = new MailService();
User user = us.login(form);
request.getSession().setAttribute("userName", user.getUsername()); return "r:/MailServlet?method=findByName";
} catch (UserException e) {
request.setAttribute("msg", e.getMessage());
request.setAttribute("user", form);
return "f:/Login/login.jsp";
} } public String findByName(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
MailService us = new MailService();
List<Mail> mails = us.findByName((String)request.getSession().getAttribute("userName"));
request.setAttribute("mails", mails);
return "f:/Mail/show.jsp"; } public String findById(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
MailService us = new MailService();
String param = request.getQueryString();
Mail findMail = us.findById(Integer.parseInt(param.split("&")[1]
.split("=")[1]));
request.getSession().setAttribute("fjr", findMail.getSendto());
request.getSession().setAttribute("bt", findMail.getTitle());
request.getSession().setAttribute("zw", findMail.getMsgcontent());
return "f:/Mail/showMail.jsp"; } public String addMail(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
MailService us = new MailService();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
Mail mail = new Mail(request.getParameter("sjr"), request.getParameter("bt"), request.getParameter("zw"),
1, (String) request.getSession().getAttribute("userName"), df.format(new Date()));
us.addMail(mail);
return "f:/MailServlet?method=findByName";
} public String deleteById(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String param = (String) request.getSession().getAttribute("ID");
MailService us = new MailService();
us.deleteById(Integer.valueOf(param.split("&")[1].split("=")[1])); return "f:/MailServlet?method=findByName";
} @Test
public void fun() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
df.format(new Date());
}
JdbcMailDaoImp1
package mail.dao; import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import org.junit.Test; import mail.domain.Mail; import com.mysql.jdbc.Connection; public class JdbcMailDaoImpl implements MailDao { public List<Mail> findByName(String username) {
List<Mail> Mails = new ArrayList<Mail>();
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 得到数据库的连接
con = JdbcUtils.getConnercion();
// 定义sql语句 得到pstmt
String sql = "SELECT * FROM msg WHERE username=?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, username);
// 执行sql语句
rs = pstmt.executeQuery();
// 把rs转换成mail类 while (rs.next()) {
// 转换成mail类
Mail mail = new Mail();
mail.setMsgid(rs.getInt("msgid"));
mail.setUsername(rs.getString("username"));
mail.setTitle(rs.getString("title"));
mail.setMsgcontent(rs.getString("msgcontent"));
mail.setState(rs.getInt("state"));
mail.setSendto(rs.getString("sendto"));
mail.setMsg_create_date(rs.getString("msg_create_date"));
Mails.add(mail); }
return Mails;
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
try {
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
}
}
} public Mail findById(int id) {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 得到数据库的连接
con = JdbcUtils.getConnercion();
// 定义sql语句 得到pstmt
String sql = "SELECT * FROM msg WHERE msgid=?";
pstmt = con.prepareStatement(sql);
// 给sql语句中的问好赋值
pstmt.setInt(1, id);
// 执行sql语句
rs = pstmt.executeQuery(); if (rs == null)
return null;
if (rs.next()) {
Mail mail = new Mail();
mail.setMsgid(rs.getInt("msgid"));
mail.setUsername(rs.getString("username"));
mail.setTitle(rs.getString("title"));
mail.setMsgcontent(rs.getString("msgcontent"));
mail.setState(rs.getInt("state"));
mail.setSendto(rs.getString("sendto"));
mail.setMsg_create_date(rs.getString("msg_create_date"));
return mail;
} else {
return null;
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
try {
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
}
}
} public void addMail(Mail mail) {
Connection con = null;
PreparedStatement pstmt = null;
try {
// 得到数据库的连接
con = JdbcUtils.getConnercion();
// 定义sql语句 得到pstmt
// insert into
// msg(username,title,msgcontent,state,sendto,msg_create_date)
String sql = "INSERT INTO msg(username,title,msgcontent,state,sendto,msg_create_date) VALUES(?,?,?,?,?,?)";
pstmt = con.prepareStatement(sql);
// 给sql语句中的问好赋值
pstmt.setString(1, mail.getUsername());
pstmt.setString(2, mail.getTitle());
pstmt.setString(3, mail.getMsgcontent());
pstmt.setInt(4, mail.getState());
pstmt.setString(5, mail.getSendto());
pstmt.setString(6, mail.getMsg_create_date());
// 执行sql语句
pstmt.executeUpdate(); } catch (Exception e) {
throw new RuntimeException(e);
} finally {
// 关闭(倒关)
try {
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
}
}
} public void deleteById(int id) {
Connection con = null;
PreparedStatement pstmt = null;
try {
// 得到数据库的连接
con = JdbcUtils.getConnercion();
// 定义sql语句 得到pstmt
// DELETE FROM 表名 [WHERE 条件
String sql = "DELETE FROM msg WHERE msgid=?";
pstmt = con.prepareStatement(sql);
// 给sql语句中的问好赋值
pstmt.setInt(1, id);
// 执行sql语句
pstmt.executeUpdate(); } catch (Exception e) {
throw new RuntimeException(e);
} finally {
// 关闭(倒关)
try {
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
}
}
}
}
JdbcUserDaoImp1.java
package mail.dao; import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import com.mysql.jdbc.Connection; import mail.domain.User; public class JdbcUserDaoImpl implements UserDao { @Override
public User findByUsername(String username) {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 得到数据库的连接
con = JdbcUtils.getConnercion();
// 定义sql语句 得到pstmt
String sql = "SELECT * FROM m_user WHERE username=?";
pstmt = con.prepareStatement(sql);
// 给sql语句中的问好赋值
pstmt.setString(1, username);
// 执行sql语句
rs = pstmt.executeQuery(); // 把rs转换成user类
if (rs == null)
return null;
if (rs.next()) {
// 转换成user类
User mail = new User();
mail.setUsername(rs.getString("username"));
mail.setPassword(rs.getString("password"));
mail.setEmail(rs.getString("email"));
return mail;
} else {
return null;
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
try {
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
}
}
} }

最新文章

  1. phpstudy虚拟机配置
  2. python零碎知识点一
  3. poj1949Chores(建图或者dp)
  4. 【Effective Java】7、优先考虑泛型方法
  5. An error I have completed recently
  6. 7.3---直线是否相交(CC150)
  7. hdu 4063 福州赛区网络赛 圆 ****
  8. oracle组查询
  9. JS 跨域问题常见的五种解决方式
  10. Apache使用mod_deflate模块压缩页面优化传输速度
  11. 一个简单的iBatis入门例子
  12. Honda HDS IMMO PCM Code calculator Free Download
  13. PAT 1017
  14. BULK INSERT将CSV或TXT文件导入到SQL Server
  15. js版贪吃蛇
  16. 从JDK源码角度看线程的阻塞和唤醒
  17. java内部类和异常类的概念
  18. easyui之自定义字体图标(鼠标覆盖时切换颜色)
  19. Java之ReentrantLock公平锁和非公平锁
  20. LeetCode137:Single Number II

热门文章

  1. NetBeans的一些快捷键
  2. 【TensorFlow】InternalError: Failed copying input tensor
  3. VS Code:4个中文乱码问题及解决方法-转载
  4. 对象转Map
  5. 处理code中代码格式化与eslint冲突
  6. Java流程控制之while循环详解
  7. 几个一看就会的实用JavaScript优雅小技巧
  8. TS语法中interface和class的理解
  9. Jquery_001
  10. flutter TextField 高度问题(包括使用maxlines自适应高度以及改变textfield组件自定义高度)