Jsp第八次作业
BaseDao.java
package com.gd.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class BaseDao { //经常用 所以建一个获取关闭 //获取连接 protected Connection getConnection(){ Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver"); // 2.建立连接 conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/user", "root", "root"); } 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(); } } }
MsgDao.java
package com.gd.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.gd.entity.Msg; public class MsgDao extends BaseDao{ //发送,回复---insert操作 //邮件列表 --select * from msg where username=.... public List<Msg> getMailByReceiver(String receiverName){ List<Msg> list=new ArrayList<Msg>(); try { Connection con = getConnection();//获取连接 String sql = "select * from msg where sendto=?";//编写sql语句 PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, receiverName);////给sql问号赋值 ResultSet rs = ps.executeQuery();//执行查询 //处理查询结果 while(rs.next()){ //循环读取rs结果集,每一行作为一个msg对象,放入list集合中 Msg msg=new Msg(); msg.setMsgid(rs.getInt("msgid")); msg.setMsgcontent(rs.getString("msgcontent")); msg.setMsg_create_date(rs.getDate("msg_create_date")); msg.setSendto(rs.getString("sendto")); msg.setState(rs.getInt("state")); msg.setTitle(rs.getString("title")); msg.setUsernname(rs.getString("username")); list.add(msg); } closeAll(con, ps, rs); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } //根据标题查内容 select public Msg getMailById(int id){ Msg msg=new Msg(); try { Connection con = getConnection();//获取连接 String sql = "select * from msg where id=?";//编写sql语句 PreparedStatement ps = con.prepareStatement(sql); ps.setInt(1, id);////给sql问号赋值 ResultSet rs = ps.executeQuery();//执行查询 //处理查询结果 while(rs.next()){ //循环读取rs结果集,每一行作为一个msg对象,放入list集合中 msg.setMsgid(rs.getInt("msgid")); msg.setMsgcontent(rs.getString("msgcontent")); msg.setMsg_create_date(rs.getDate("msg_create_date")); msg.setSendto(rs.getString("sendto")); msg.setState(rs.getInt("state")); msg.setTitle(rs.getString("title")); msg.setUsernname(rs.getString("username")); } closeAll(con, ps, rs); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return msg; } //阅读状态改变,,,未读 已读 update //删除邮件 delete }
UsersDao.java
package com.gd.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UsersDao extends BaseDao { // 登录功能 public boolean login(String uname, String upwd) throws SQLException { // 获取连接 Connection conn = getConnection(); // 编写sql语句 String sql = "select * from users where username=? and password=?"; // 执行sql语句 PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, uname); ps.setString(2, upwd); ResultSet rs = ps.executeQuery(); if (rs.next()) { closeAll(conn, ps, rs); return true; } else { closeAll(conn, ps, rs); return false; } } // public static void main(String[] args) { // UsersDao ud=new UsersDao(); // try { // System.out.println(ud.login("tom", "456")); // } catch (SQLException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } }
Msg.java
package com.gd.entity; import java.sql.Date; public class Msg { int msgid; String usernname; String title; String msgcontent; int state; String sendto; String msg_create_date; public int getMsgid() { return msgid; } public void setMsgid(int msgid) { this.msgid = msgid; } public String getUsernname() { return usernname; } public void setUsernname(String usernname) { this.usernname = usernname; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getMsgcontent() { return msgcontent; } public void setMsgcontent(String msgcontent) { this.msgcontent = msgcontent; } public int getState() { return state; } public void setState(int state) { this.state = state; } public String getSendto() { return sendto; } public void setSendto(String sendto) { this.sendto = sendto; } public String getMsg_create_date() { return msg_create_date; } public void setMsg_create_date(Date date) { this.msg_create_date = msg_create_date; } }
Users.java
package com.gd.entity; public class Users { String username; String password; String email; 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; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
detail.jsp
<%@page import="com.gd.entity.Msg"%> <%@page import="com.gd.dao.MsgDao"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <% int id = Integer.parseInt(request.getParameter("id")); MsgDao md = new MsgDao(); Msg m = md.getMailById(id); %> <p> 题目:<%=m.getTitle()%></p> <p> 来自:<%=m.getUsernname()%></p> <p> 时间:<%=m.getMsg_create_date()%></p> <p> 内容:<%=m.getMsgcontent()%></p> 回复 <a href="main.jsp">返回</a> </body> </html>
dologin.jsp
<%@page import="com.gd.entity.Users"%> <%@page import="com.gd.dao.UsersDao"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <% request.setCharacterEncoding("utf-8"); String uname = request.getParameter("uname"); String upwd = request.getParameter("upwd"); UsersDao ud = new UsersDao(); if (ud.login(uname, upwd)){ //登陆成功 创建User页面,并放入session Users u=new Users(); u.setUsername(uname); u.setPassword(upwd); session.setAttribute("user", u); request.getRequestDispatcher("main.jsp").forward(request, response); } else response.sendRedirect("index.jsp"); %> </html>
index.java
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <form action="dologin.jsp" method="post"> 用户名:<input type="text" name="uname" value="kitty" /><Br> 密码 :<input type="password" name="upwd" value="777"/><br> <input type="submit" value="登录"> </form> </body> </html>
main.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@page import="java.sql.SQLException"%> <%@page import="com.gd.entity.Msg"%> <%@page import="com.gd.dao.MsgDao"%> <%@page import="com.gd.entity.Users"%> <%@page import="java.util.List"%> <%@page import="com.gd.dao.BaseDao"%> <%@page import="com.gd.entity.Msg"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Connection"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> 欢迎页面!!!欢迎你!!!<% Users u = (Users) session.getAttribute("user"); out.print(u.getUsername()); MsgDao md=new MsgDao(); List<Msg> list=md.getMailByReceiver(u.getUsername()); out.print(list.size()); %> <a href="write.jsp">写邮件</a> <table border="1" width="1000"> <tr> <td>邮件id</td> <td>发件人</td> <td>标题</td> <td>收件人</td> <td>状态</td> <td>时间</td> <td> </td> <td> </td> </tr> <% for(int i=0;i<list.size();i++){ %> <tr> <td><%=list.get(i).getMsgid() %></td> <td><%=list.get(i).getUsernname() %></td> <td><a href="detail.jsp?id=<%=list.get(i).getMsgid()%>"><%=list.get(i).getTitle()%></a></td> <td><%=list.get(i).getSendto() %></td> <td><% if(list.get(i).getState()==1){ %> <img src="images/sms_unReaded.png"></img> <%}else{ %> <img src="images/sms_readed.png"></img> <%} %> </td><!-- 0已读,1未读 --> <td><%=list.get(i).getMsg_create_date() %></td> <td><a href="">回复</a></td> <td><a href="">删除</a></td> </tr> <%} %> </talbe> </body> </html>
write.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@page import="java.sql.SQLException"%> <%@page import="com.gd.entity.Msg"%> <%@page import="com.gd.dao.MsgDao"%> <%@page import="com.gd.entity.Users"%> <%@page import="java.util.List"%> <%@page import="com.gd.dao.BaseDao"%> <%@page import="com.gd.entity.Msg"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Connection"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> 欢迎页面!!!欢迎你!!!<% Users u = (Users) session.getAttribute("user"); out.print(u.getUsername()); MsgDao md=new MsgDao(); List<Msg> list=md.getMailByReceiver(u.getUsername()); out.print(list.size()); %> <a href="write.jsp">写邮件</a> <table border="1" width="1000"> <tr> <td>邮件id</td> <td>发件人</td> <td>标题</td> <td>收件人</td> <td>状态</td> <td>时间</td> <td> </td> <td> </td> </tr> <% for(int i=0;i<list.size();i++){ %> <tr> <td><%=list.get(i).getMsgid() %></td> <td><%=list.get(i).getUsernname() %></td> <td><a href="detail.jsp?id=<%=list.get(i).getMsgid()%>"><%=list.get(i).getTitle()%></a></td> <td><%=list.get(i).getSendto() %></td> <td><% if(list.get(i).getState()==1){ %> <img src="images/sms_unReaded.png"></img> <%}else{ %> <img src="images/sms_readed.png"></img> <%} %> </td><!-- 0已读,1未读 --> <td><%=list.get(i).getMsg_create_date() %></td> <td><a href="">回复</a></td> <td><a href="">删除</a></td> </tr> <%} %> </talbe> </body> </html>