JSP第12次作业

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:38  SuoJing  阅读(21)  评论(0编辑  收藏  举报