zoukankan      html  css  js  c++  java
  • JSP第八次作业

    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;
        }
    
    }

    Msg.java

    package com.gd.entity;
    
    import java.util.Date;
    
    public class Msg {
        int msgid;
        String usernname;
        String title;
        String msgcontent;
        int state;
        String sendto;
        Date msg_create_date;
        public Date getMsg_create_date() {
            return msg_create_date;
        }
        public void setMsg_create_date(Date msg_create_date) {
            this.msg_create_date = 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;
        }
    }

    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;
    
    public class BaseDao {
        //获取连接
        public Connection getConnection(){
            Connection conn=null;
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    // 2.建立连接
                    conn = DriverManager.getConnection(
                            "jdbc:mysql://localhost:3306/jdbc", "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();
            }
        }
    
    }

    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;
                }
            }
        
    
    }

    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.List;
    
    import com.gd.entity.Msg;
    
    public class MsgDao extends BaseDao{
        // 发送,回复---insert操作
        public boolean insertmail(String senderName,String receiverName,String title,String content){
            try {
                Connection con=getConnection();
                String sql="insert into msg(title,msgcontent,username,sendto,msg_create_date) values(?,?,?,?,now())";
                PreparedStatement ps=con.prepareStatement(sql);
                ps.setString(1, title);
                ps.setString(2, content);
                ps.setString(3, senderName);
                ps.setString(4, receiverName);
                int result=ps.executeUpdate();
                if(result!=0) {
                    closeAll(con, ps, null);
                    return true;
                }else {
                    closeAll(con, ps, null);
                    return false;
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return false;
        }
    
            // 邮件列表 --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;
            }
    
    //        public static void main(String[] args) {
    //            MsgDao md=new MsgDao();
    //            List<Msg> list=md.getMailByReceiver("小白");
    //            System.out.println(list.size());
    //        }
            // 根据id查内容 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
    
    }

    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*" 
        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>
    <base href="<%=basePath%>">
    <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="小白" /><br>
    密码 :<input type="password" name="upwd" value="88888"/><br>
    
    <input type="submit" value="登录">
    
    </form>
    
    </body>
    </html>

    dologin.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@page import="com.gd.entity.Users"%>
    <%@page import="com.gd.dao.UsersDao"%>
    
    <!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>

    main.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*"
        pageEncoding="UTF-8"%>
    <%@page import="com.gd.entity.Msg"%>
    <%@page import="com.gd.dao.MsgDao"%>
    <%@page import="com.gd.entity.Users"%>
    <!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>&nbsp;</td>
    <td>&nbsp;</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"%>
    <!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="dowrite.jsp" method="post">
    收件人<input type="text" name="usersname"><br>
    标题<input type="text" name="title" ><br>
    内容<textarea cols="20"rews="10" name="content"></textarea><br>
    <input type="submit" value="发送"> <a href="main.jsp"><input type="button" value="返回"></a>
    
    </form>
    </body>
    </html>

    dowrite.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@page import="com.gd.entity.Users"%>    
    <%@page import="com.gd.dao.MsgDao"%>  
    <!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>数据处理页</title>
    </head>
    <body>
    <%
        request.setCharacterEncoding("utf-8");
        Users u=(Users) session.getAttribute("user");
        String title = request.getParameter("title");
        String senderName = u.getUsername();
        String receiverName = request.getParameter("usersname");
        String content = request.getParameter("content");
        MsgDao md = new MsgDao();
        if(md.insertmail(senderName, receiverName, title, content)){
    %>
            <script>
                alert("发送成功");
            </script>
    <%
        request.getRequestDispatcher("write.jsp").forward(request, response);
        }else{%>
            <script>
                alert("发送失败");
            </script>
    <%
    response.sendRedirect("write.jsp");
        }
        
    %>
    </body>
    </html>

     

     

     

  • 相关阅读:
    Mysql 解压安装
    线程进程池,协程,IO模型
    并发编程 线程
    并发编程 进程
    socket 套接字
    网络编程
    面向对象(反射,元类) 排序方法
    面向对象(多态,类方法,魔法方法)
    Day22 面向对象(继承封装)
    php一行代码获取本周一,本周日,上周一,上周日,本月一日,本月最后一日,上月一日,上月最后一日日期 转
  • 原文地址:https://www.cnblogs.com/rongrui/p/12892360.html
Copyright © 2011-2022 走看看