第十二次作业

package week12;

public class EmailEntity {
    public String sender;
    public String receiver;
    public String title;
    public String content;
    public String status;
    
    public EmailEntity() {
        sender = new String("");
        receiver = new String("");
        title = new String("");
        content = new String("");
        status = new String("");
    }
    
    public String getHtml()
    {
        String _str;
        _str = new String("<td>\n" + sender + "</td>\n" + 
                "<td>\n" + receiver + "</td>\n" + 
                "<td>\n" + title + "</td>\n" + 
                "<td>\n" + content + "</td>\n" + 
                "<td>\n" + status + "</td>\n");
        
        return _str;
    }
}
package week12;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class UserDao {
    public static Connection CreateConnection()
    {
        Connection conn = null;
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/week12", "root", "1234567");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
        }
        return conn;
    }
    
    public static void closeConn(Connection conn)
    {
        try
        {
            conn.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void register(String name, String password, int age)
    {
        
        Connection conn = null;

        try
        {
            conn = CreateConnection();
            java.sql.Statement sqlStatement = conn.createStatement();
            String sqlQuery = "INSERT INTO `user_table` SET `name`='" + name + "',`password`='" + password + "',`age`=" + age + ";";
            sqlStatement.executeQuery(sqlQuery);
        }
        catch (java.sql.SQLException throwables)
        {
            throwables.printStackTrace();
        }
        finally
        {
            if (conn != null)
            {
                closeConn(conn);    
            }
        }
    }
    
    public static boolean login(String name, String password)
    {
        
        Connection conn = null;
        
        
        
        
        int count = 0;
        
        try
        {
            conn = CreateConnection();
            java.sql.Statement sqlStatement = conn.createStatement();
            String sqlQuery = "select count(*) from user_table where name = '"+ name +"', password = '" + password + "';";
            ResultSet rs = sqlStatement.executeQuery(sqlQuery);
            while (rs.next() != false)
            {
                count = rs.getInt(1);
            }            
        }
        catch (java.sql.SQLException throwables)
        {
            throwables.printStackTrace();
        }
        finally
        {
            if (conn != null)
            {
                closeConn(conn);    
            }
        }
        return (count > 0);
    }
    public static ArrayList<EmailEntity> getEmail() {
        Connection conn = null;
        
        ArrayList<EmailEntity> emailEntities = new ArrayList<EmailEntity>();
        
        
        

        try
        {
            conn = CreateConnection();
            java.sql.Statement sqlStatement = conn.createStatement();
            String sqlQuery = "select sender, receiver, title, content, status from email;";
            ResultSet rs = sqlStatement.executeQuery(sqlQuery);
            while (rs.next() != false)
            {
                EmailEntity email = new EmailEntity();
                email.sender = rs.getString(0);
                email.receiver = rs.getString(1);
                email.title = rs.getString(2);
                email.content = rs.getString(3);
                email.status = rs.getString(4);
                emailEntities.add(email);
            }
        }
        catch (java.sql.SQLException throwables)
        {
            throwables.printStackTrace();
        }
        finally
        {
            if (conn != null)
            {
                closeConn(conn);    
            }
        }
//        EmailEntity email = new EmailEntity();
//        email.sender = "张三";
//        email.receiver = "user";
//        email.title = "测试";
//        email.content = "测试内容啦啦啦";
//        email.status = "未读";
//        emailEntities.add(email);
//        
//        EmailEntity email2 = new EmailEntity();
//        email2.sender = "aa";
//        email2.receiver = "user";
//        email2.title = "测试2";
//        email2.content = "测试2";
//        email2.status = "已读";
//        emailEntities.add(email2);
        
        return emailEntities;
        
    }
    
    void deleteEmail(int id)
    {
        Connection conn = null;
        try
        {
            conn = CreateConnection();
            java.sql.Statement sqlStatement = conn.createStatement();
            String sqlQuery = "delete from email where id = '" + id + "'";
            sqlStatement.executeQuery(sqlQuery);
        }
        catch (java.sql.SQLException throwables)
        {
            throwables.printStackTrace();
        }
        finally
        {
            if (conn != null)
            {
                closeConn(conn);    
            }
        }
    }
    
    void replyEmail(String sender, String receiver, String title, String content)
    {
        Connection conn = null;
        try
        {
            conn = CreateConnection();
            java.sql.Statement sqlStatement = conn.createStatement();
            String sqlQuery = "insert into email (sender, receiver, title, content, status) values(?, ?, ?, ?, ?);";
            PreparedStatement ps = null;
            try
            {
                ps = conn.prepareStatement(sqlQuery);
                ps.setString(1, sender);
                ps.setString(2, receiver);
                ps.setString(3, title);
                ps.setString(4, content);
                ps.setString(5, "未读");
                ps.executeUpdate();
            }
            catch (SQLException e)
            {
                e.printStackTrace();
            }
            finally
            {
            }
        }
        catch (java.sql.SQLException throwables)
        {
            throwables.printStackTrace();
        }
        finally
        {
            if (conn != null)
            {
                closeConn(conn);    
            }
        }
    }
    static public EmailEntity getReply(int id)
    {
        Connection conn = null;
        
        EmailEntity email = null;
        
        try
        
        {
            conn = CreateConnection();
            java.sql.Statement sqlStatement = conn.createStatement();
            String sqlQuery = "select sender, receiver, title, content, status from email;";
            ResultSet rs = sqlStatement.executeQuery(sqlQuery);
            while (rs.next() != false)
            {
                email.sender = rs.getString(0);
                email.receiver = rs.getString(1);
                email.title = rs.getString(2);
                email.content = rs.getString(3);
                email.status = rs.getString(4);
            }
        }
        catch (java.sql.SQLException throwables)
        {
            throwables.printStackTrace();
        }
        finally
        {
            if (conn != null)
            {
                closeConn(conn);    
            }
        }
        return email;
    }
}
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    
<%@ page import="week12.UserDao" %>
<%@ page import="week12.EmailEntity" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Detail</title>
</head>
<body>
    <table border = "1">
        <tr>
            <th>发件人</th>
            <th>主题</th>
            <th>状态</th>
            <th>时间</th>
        </tr>
        <tr>
            <td>张三</td>
            <td>测试</td>
            <td>已读</td>
            <td>2022-5-22</td>
        </tr>
    </table>
    <p>
    <%= UserDao.getReply(1); %>
    </p>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="week11.UserDao" %>
<%@ page import="week11.EmailEntity" %>
<%@ page import="java.util.ArrayList" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Email</title>
</head>
<body>
    <p>
    你好
    <%
        session.setAttribute("username", new String("user"));
        out.println(session.getAttribute("username").toString());
    %>
    </p>
    <table border = "1">
        <tr>
            <th>发件人</th>
            <th>主题</th>
            <th>内容</th>
            <th>状态</th>
            <th>时间</th>
            <th></th>
        </tr>
        <%
            request.setCharacterEncoding("utf-8");
            ArrayList<EmailEntity> emailEntities = UserDao.getEmail();
            for (int n = 0; n < emailEntities.size(); n++)
            {
                out.println("<tr>");
                out.println(emailEntities.get(n).getHtml());
                out.println("</tr>");
            }
        %>
    </table>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

<%@ page import="week11.UserDao" %>
<!DOCTYPE html>
<html>
<head>

<title>Login Process</title>
</head>
<body>
<%
    request.setCharacterEncoding("utf-8");
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    if (UserDao.login(username, password))
    {
        out.println("<h1>登录成功</h1>");
        session.setAttribute("username", username);
    }
    else
    {
        out.println("<h1>登录失败</h1>");
    }
%>


</body>

</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Login</title>
<script>
function verify() {
    let user = document.getElementById("username").value;
    let password = document.getElementById("password").value;
    if (user == '' || password == '') {
        alert("用户名与密码不能为空.");
        return;
    }
    loginForm.submit();
}
</script>
</head>
<body>
<form action="login_process.jsp" method="POST" name="loginForm">
用户名: <input type="text" id="username" name="username"><br/>
密码: <input type="password" id="password" name="password"><br/>
<input type="button" name="submitButton" value="提交" onclick="verify()">
<a href="register.jsp">register page</a>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    
<%@ page import="week11.UserDao" %>
<!DOCTYPE html>
<html>
<head>

<title>Register Process</title>
</head>
<body>
<%
    request.setCharacterEncoding("utf-8");
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    String age = request.getParameter("age");
    
    UserDao.register(username, password, Integer.parseInt(age));
    out.println("<h1>注册成功</h1>");
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    
<%@ page import="week12.UserDao" %>
<%@ page import="week12.EmailEntity" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Detail</title>
</head>
<body>
    <table border = "1">
        <tr>
            <th>发件人</th>
            <th>主题</th>
            <th>状态</th>
            <th>时间</th>
        </tr>
        <tr>
            <td>张三</td>
            <td>测试</td>
            <td>已读</td>
            <td>2022-5-22</td>
        </tr>
    </table>
    <p>
    <%= UserDao.getReply(1); %>
    </p>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Register</title>
<script>
function verify() {
    let user = document.getElementById("username").value;
    let password = document.getElementById("password").value;
    if (user == '' || password == '') {
        alert("用户名与密码不能为空.");
        return;
    }
    loginForm.submit();
}
</script>
</head>
<body>
<form action="register_process.jsp" method="POST" name="loginForm">
用户名: <input type="text" id="username" name="username"><br/>
密码: <input type="password" id="password" name="password"><br/>
<input type="button" name="submitButton" value="提交" onclick="verify()">
<a href="login.jsp">login page</a>
</form>
</body>
</html>

 

posted @ 2022-05-22 19:51  w-j  阅读(16)  评论(0编辑  收藏  举报