• 07


    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 {
        private static final String URL = "jdbc:mysql://localhost:3306/u";
        private static final String USERNAME = "root";
        private static final String PWD = "root";
    
    
        //获取连接
        public static Connection getCon() throws Exception {
            // a.导入驱动,加载具体的驱动类
            Class.forName("com.mysql.jdbc.Driver");// 加载具体的驱动类
            // b.与数据库建立连接
            Connection con = DriverManager.getConnection(URL, USERNAME, PWD);
            return con;
        }
    
        //关闭连接
        public 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();
            }
        }
        
    }
    package com.gd.dao;
    
    import java.sql.*;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import javax.servlet.http.HttpSession;
    
    public class UsersDao extends BaseDao {
        
        // 登录功能
        public boolean login(String uname, String upwd) throws Exception {
               boolean flag = false;
            // 获取连接
            Connection conn = getCon();
            // 编写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()) {
                 flag = true;
                
                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();
    //        }
    //    }
    
    }
    package com.gd.entity;
    
    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(String msg_create_date) {
            this.msg_create_date = msg_create_date;
        }
    
    }
    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;
        }
    
    }
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@ page import="java.sql.*"%>
     <%@page import="com.gd.entity.Msg"%>  
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Insert title here</title>
    </head>
    <body>
        <%
            request.setCharacterEncoding("utf-8");
            String uname = (String) session.getAttribute("uname");
            String newstate = null;
            //获取邮件列表页面输入的标题
            String contitle = request.getParameter("contitle");
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                //加载驱动
                String url = "jdbc:mysql://localhost:3306/u";
                String user = "root";
                String password = "root";
                conn = DriverManager.getConnection(url, user, password);
                // 连接对象
                //conn = BaseDao.getConnection();
        %>
        <%
            Msg msg = new Msg();
                ps = conn.prepareStatement("select * from msg where username=?");
              
                ps.setString(1, uname);
                rs = ps.executeQuery();
                while (rs.next()) {
        %>
    
        <form action="" name="huifu" method="post">
            收件人: &nbsp;<%=rs.getString("sendto")%><br> <br>标题:<%=rs.getString("title")%><br>
            <br> 正文:<%=rs.getString("msgcontent")%><br>
            <%
                //更新阅读状态
                        if (rs.getInt("state") == 1) {
                            ps = conn.prepareStatement("update msg set state=? where state=? and title=?");
                            // 执行sql语句
                            ps.setInt(1, 0);
                            ps.setInt(2, 1);
                            ps.setString(3, contitle);
                            ps.executeUpdate();
    
                            break;
                        }
            %>
            <%
                }
            %>
    
    
        <%
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                //BaseDao.closeAll(conn, ps, rs);
                try {
                    if (rs != null) {
                        rs.close();
                    }
                } finally {
                    try {
                        if (ps != null) {
                            ps.close();
                        }
                    } finally {
                        if (conn != null) {
                            conn.close();
                        }
                    }
                }
            }
        %>
    
    </body>
    
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
      <%@ page import="java.sql.*"%>
     <%@page import="com.gd.entity.Msg"%>  
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Insert title here</title>
    </head>
    <body>
    
        
       <% 
       String uname = (String) session.getAttribute("uname");
              
                            // 用户已登陆
            %>    
            <%!
                String DBDRIVER = "com.mysql.jdbc.Driver";
                String DBURL = "jdbc:mysql://localhost:3306/u?characterEncoding=utf-8";
                String DBUSER = "root";
                String DBPASSWORD = "root";
                Connection conn = null;
                PreparedStatement pstmt = null;
                ResultSet rs = null;
            %>
            <%
    
                // 接收参数
                int msgid = 0;
                try {
                    msgid=Integer.parseInt(request.getParameter("id"));
                } catch (Exception e) {
                }
            
            %>
           
            <%
                String sql = "delete from msg where msgid = ?";
                boolean flag = false;
                try {
                    Class.forName(DBDRIVER);
                    conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
                    pstmt = conn.prepareStatement(sql);
                    // 设置删除条件
                    pstmt.setInt(1, msgid);
                    pstmt.executeUpdate();
                    pstmt.close();
                    conn.close();
                    flag = true;
                } catch (Exception e) {
                }
            %>
               
            <%
                response.setHeader("refresh", "2;URL=index.jsp");
                if (flag) {
            %>
            
          <form action="index.jsp" method="post">
            <%
                session.setAttribute("uname", uname);
            %>
            <%
            
            out.print("删除成功");
            %>
            <input type="submit" value="退出登录" name="newyjlb">
        </form>
            <%
            } else {
            %>
            邮件删除失败,两秒后跳转到留言列表页!!!<br>
            如果没有跳转,请按<a href="index.jsp">这里</a>!!!
            <%
                }
            %>
         
            
       
       
    </body>
    </html>
    <%@page import="com.gd.dao.UsersDao"%>
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
       <%
                if ( session.getAttribute("uname") != null) {
                            // 用户已登陆
    %>
    <%
        request.setCharacterEncoding("utf-8");
        String uname = request.getParameter("uname");
        request.setAttribute(uname, "uname");
        String upwd = request.getParameter("upwd");
        UsersDao ud = new UsersDao();
        if (ud.login(uname, upwd))
            request.getRequestDispatcher("main.jsp").forward(request, response);
        else
            response.sendRedirect("index.jsp");
    %>
    <%
            } else {
                // 用户未登陆,提示用户登陆,并跳转
                response.setHeader("refresh", "2;URL=index.jsp");
            %>
            您还未登陆,请先登陆!!!<br>
            两秒后自动跳转到登陆窗口!!!<br>
            如果没有跳转,请按<a href="index.jsp">这里</a>!!!<br>
            <%
                }
            %>
    <%@ page language="java" 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">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
            <SCRIPT Language = "javascript">
            //下面的副程序将执行资料检查
            function isValid()
            {
                //下面的if判断语句将检查是否输入帐号资料
                if (dologin.id.value == "")
                {
                    window.alert("您必须完成帐号的输入!");
                    //显示错误信息
                    document.dologin.elements(0).focus();
                    //将光标移至帐号输入栏        
                    return  false;
                }
    
                //下面的if判断语句将检查是否输入帐号密码
                if (dologin.password.value == "")
                {
                    window.alert("您必须完成密码的输入!");
                    //显示错误信息
                    document.dologin.elements(1).focus();
                    //将光标移至密码输入栏
                    return  false;  //离开函数
                }
    
                dologin.submit(); //送出表单中的资料
            }
        </SCRIPT>    
      </head>
      
      <body>
        
    <form action="dologin.jsp" name="dologin.jsp" method="post" onSubmit="return isValid(this);">
    用户名:<input type="text" name="uname" value="" /><Br>
    密码 :<input type="password" name="upwd" value=""/><br>
    
    <input type="submit" value="登录">
    
    </form>
      </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
      <%@page import="com.gd.entity.Msg"%>  
    <%@ page import="java.sql.*"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Insert title here</title>
    </head>
    <body>
    
       <%
        request.setCharacterEncoding("utf-8");
       
       //获取邮件列表页面输入的标题  
        String contitle = (String) session.getAttribute("newcontitle");
          
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                //加载驱动
                String url = "jdbc:mysql://localhost:3306/u";
                String user = "root";
                String password = "root";
                conn = DriverManager.getConnection(url, user, password);
                // 连接对象
                //conn = BaseDao.getConnection();
                
        %>
        <% 
        Msg msg = new Msg();
        String uuname = (String) session.getAttribute("uuname");
        out.print("发件人:"+uuname);
        
        ps = conn.prepareStatement("select * from msg where username= ? ");
        ps.setString(1, uuname);
        rs = ps.executeQuery();
     
        while (rs.next()) {
        %>
         
        <form action="insert2.jsp" name="huifu" method="post">
             收件人: &nbsp;<%=rs.getString("sendto")%><br> <br> 
            
            标题:<input type="text" name="ctitle"><br> <br> 
            
            正文:<input type="text" name="ccontent"><br>
            <input type="submit" value="发送">
        </form>
       
       <%
            }
       %>
        
        <%
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                
                try {
                    if (rs != null) {
                        rs.close();
                    }
                } finally {
                    try {
                        if (ps != null) {
                            ps.close();
                        }
                    } finally {
                        if (conn != null) {
                            conn.close();
                        }
                    }
                }
            }
        %>
    
    
    
    
        <br>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
        <%@ page import="java.sql.*"%>
     <%@page import="com.gd.entity.Msg"%>  
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Insert title here</title>
    </head>
    <body>
       <%
            request.setCharacterEncoding("utf-8");
           
            String ctitle = request.getParameter("ctitle");
            String ccontent = request.getParameter("ccontent");
            //获取邮件列表页面输入的标题
            String contitle = (String) session.getAttribute("newcontitle");
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                //加载驱动
                String url = "jdbc:mysql://localhost:3306/u";
                String user = "root";
                String password = "root";
                conn = DriverManager.getConnection(url, user, password);
                // 连接对象
                //conn = BaseDao.getConnection();
        %>
          
        <%
            Msg msg = new Msg();
            String uuname = (String) session.getAttribute("uuname");
                ps = conn.prepareStatement("select * from msg where username=?");
              
                ps.setString(1, uuname);
                rs = ps.executeQuery();
                
                while (rs.next()) {
                ps = conn.prepareStatement("insert into msg(username,title,msgcontent,sendto,state,msg_create_date)" + "values('"
                        + rs.getString("sendto") + "','" + ctitle + "','" + ccontent + "','"
                        + uuname + "','" + "1" + "','"+"2020-04-27"+"')");
                        ps.executeUpdate();
                        request.getRequestDispatcher("index.jsp").forward(request, response);
        %>
        <%
            }
        %>
        <%
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                //BaseDao.closeAll(conn, ps, rs);
                try {
                    if (rs != null) {
                        rs.close();
                    }
                } finally {
                    try {
                        if (ps != null) {
                            ps.close();
                        }
                    } finally {
                        if (conn != null) {
                            conn.close();
                        }
                    }
                }
            }
        %>
    
    
    
    
        <br>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
        <%@ page import="java.sql.*"%>
     <%@page import="com.gd.entity.Msg"%>  
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Insert title here</title>
    </head>
    <body>
       <%
            request.setCharacterEncoding("utf-8");
           
            String ctitle = request.getParameter("ctitle");
            String ccontent = request.getParameter("ccontent");
            //获取邮件列表页面输入的标题
            String contitle = (String) session.getAttribute("newcontitle");
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                //加载驱动
                String url = "jdbc:mysql://localhost:3306/u";
                String user = "root";
                String password = "root";
                conn = DriverManager.getConnection(url, user, password);
                // 连接对象
                //conn = BaseDao.getConnection();
        %>
          
        <%
            Msg msg = new Msg();
            String uuname = (String) session.getAttribute("uuname");
                ps = conn.prepareStatement("select * from msg where username=?");
              
                ps.setString(1, uuname);
                rs = ps.executeQuery();
                
                while (rs.next()) {
                ps = conn.prepareStatement("insert into msg(username,title,msgcontent,sendto,state,msg_create_date)" + "values('"
                        + rs.getString("sendto") + "','" + ctitle + "','" + ccontent + "','"
                        + uuname + "','" + "1" + "','"+"2020-04-27"+"')");
                        ps.executeUpdate();
                        request.getRequestDispatcher("index.jsp").forward(request, response);
        %>
        <%
            }
        %>
        <%
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                //BaseDao.closeAll(conn, ps, rs);
                try {
                    if (rs != null) {
                        rs.close();
                    }
                } finally {
                    try {
                        if (ps != null) {
                            ps.close();
                        }
                    } finally {
                        if (conn != null) {
                            conn.close();
                        }
                    }
                }
            }
        %>
    
    
    
    
        <br>
    </body>
    </html>
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ page import="java.sql.*"%>
     <%@page import="com.gd.entity.Msg"%>  
    
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
    <center>
    <h1>欢迎页面 </h1></br>
    你好:<%= request.getParameter("uname") %>
    </br>
    </center>
            <% if ( request.getParameter("uname") != null) {
                            // 用户已登陆
            %>
            
            
      
            
            
        <%   
            String uname = request.getParameter("uname");
             session.setAttribute("uuname", uname);
            request.setCharacterEncoding("utf-8");
         
            String contitle = request.getParameter("contitle"); 
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                //加载驱动
                String url = "jdbc:mysql://localhost:3306/u";
                String user = "root";
                String password = "root";
                conn = DriverManager.getConnection(url, user, password);
                // 连接对象
                //conn = BaseDao.getConnection();
        %>
        <table align="center" width="92%" border="3">
            <tr>
                <td>ID</td>
                 <td>用户</td>
                <td>标题</td>
                <td>内容</td>
                <td>状态</td>
                <td>发件人</td>
                <td>日期</td>
                <td>删除</td>
                <td>回复</td>
            </tr>
            <%
                Msg msg = new Msg();
                    ps = conn.prepareStatement("select * from msg where username=?");
                    ps.setString(1, uname);
                    rs = ps.executeQuery();
                    while (rs.next()) {
            %>
            <tr>
             <td><%=rs.getInt("msgid")%></td>
                <td><%=rs.getString("username")%></td>
                <td><a href="look.jsp?id=<%=rs.getInt("msgid")%>"><%=rs.getString("title")%></a></td>
                <td><%=rs.getString("msgcontent")%></td>
    
                <td>
                    <%
                        if (rs.getString("state").equals("1")) {
                    %> <%
         out.print("未读");
     %> <%
         } else {
     %> <%
         out.print("已读");
     %> <%
         }
     %>
                </td>
                
                <td><%=rs.getString("sendto")%></td>
               <td><%=rs.getString("msg_create_date")%></td>
               
               <td><a href="delete.jsp?id=<%=rs.getInt("msgid")%>">删除</a></td>
               <td>   
               <form action="insert.jsp" method="post">
               <input type="submit" name="a" value="回复">
               </form>
              </td>
            </tr>
            <%
                }
            %>
        </table>
    
        <br>
        
    
        <%
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                //BaseDao.closeAll(conn, ps, rs);
                try {
                    if (rs != null) {
                        rs.close();
                    }
                } finally {
                    try {
                        if (ps != null) {
                            ps.close();
                        }
                    } finally {
                        if (conn != null) {
                            conn.close();
                        }
                    }
                }
            }
        %>
          <%
    } else {
        // 用户未登陆,提示用户登陆,并跳转
        response.setHeader("refresh", "2;URL=index.jsp");
    %>
    您还未登陆,请先登陆!!!<br>
    两秒后自动跳转到登陆窗口!!!<br>
    如果没有跳转,请按<a href="index.jsp">这里</a>!!!<br>
    <%} %>
    </body>
    
    </html>

  • 相关阅读:
    关于泛型
    共享几个.net工具类
    关于Guid
    自动更新解决方案
    订阅者模式实例
    好久没有blog了,今日就share一个update program的经验
    杀掉相应数据库的进程
    解决IFrame下无法写Cookie问题
    sql处理死锁
    log4net配置及使用方法
  • 原文地址:https://www.cnblogs.com/1014040868lyn/p/12814109.html
Copyright © 2020-2023  润新知