1.建库,建表2个
用户表(id,用户名,密码)
邮件表(id,发件人,收件人,标题,内容,发送时间,状态)

2.建model层
entity,dao包

3.登陆,注册,登陆后显示全部邮件

dao

 1 package com.gd.dao;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.PreparedStatement;
6 import java.sql.ResultSet;
7 import java.sql.SQLException;
8
9 public class BaseDao {
10 // 获取连接
11 protected Connection getConnection() {
12 Connection conn = null;
13 try {
14 Class.forName("com.mysql.jdbc.Driver");
15 // 2.建立连接
16 conn = DriverManager.getConnection(
17 "jdbc:mysql://localhost:3306/test", "root", "123456");
18 } catch (Exception e) {
19 e.printStackTrace();
20 }
21 return conn;
22 }
23
24 // 关闭连接
25 protected void closeAll(Connection con, PreparedStatement ps, ResultSet rs) {
26 try {
27 if (rs != null)
28 rs.close();
29 if (ps != null)
30 ps.close();
31 if (con != null)
32 con.close();
33
34 } catch (SQLException e) {
35 e.printStackTrace();
36 }
37 }
38 }
 1 package com.gd.dao;
2
3 import java.sql.Connection;
4 import java.sql.PreparedStatement;
5 import java.sql.ResultSet;
6 import java.sql.SQLException;
7 import java.util.ArrayList;
8 import java.util.List;
9
10 import com.gd.entity.Msg;
11
12 public class MsgDao extends BaseDao {
13 public List<Msg> listAll(String username) throws SQLException{
14 List<Msg> list =new ArrayList<Msg>();
15 Connection conn =getConnection();
16 String sql="select * from msg where username=?";
17 PreparedStatement pred =null;
18
19 ResultSet rest=null;
20 try {
21 pred=conn.prepareStatement(sql);
22 pred.setString(1, username);
23 rest=pred.executeQuery();
24 while (rest.next()) {
25 Msg msg=new Msg();
26 msg.setMsgid(rest.getInt("msgid"));
27 msg.setUsername(rest.getString("username"));
28 msg.setTitle(rest.getString("title"));
29 msg.setMsgcontent(rest.getString("msgcontent"));
30 msg.setState(rest.getInt("state"));
31 msg.setSendto(rest.getString("sendto"));
32 msg.setMsg_create_date(rest.getDate("msg_create_date"));
33 list.add(msg);
34 }
35 } catch (Exception e) {
36 // TODO: handle exception
37 }
38 finally{
39 closeAll(conn, pred, rest);
40 }
41 return list;
42 }
43
44 }
 1 package com.gd.dao;
2
3 import java.sql.Connection;
4 import java.sql.PreparedStatement;
5 import java.sql.ResultSet;
6 import java.sql.SQLException;
7
8 public class UsersDao extends BaseDao {
9 public boolean login(String uname, String upwd) throws SQLException {
10 boolean f = false;
11 Connection conn = getConnection();
12 PreparedStatement pred = null;
13 ResultSet rest = null;
14 String sql = "select * from users where uname=? and upwd=?";
15 try {
16 pred = conn.prepareStatement(sql);
17 pred.setString(1, uname);
18 pred.setString(2, upwd);
19 rest = pred.executeQuery();
20 while (rest.next()) {
21 f = true;
22 }
23 } catch (Exception e) {
24 // TODO: handle exception
25 } finally {
26 closeAll(conn, pred, rest);
27 }
28 return f;
29 }
30
31 public boolean id(Integer id) throws SQLException {
32 boolean f = false;
33 Connection conn = getConnection();
34 PreparedStatement pred = null;
35 ResultSet rest = null;
36 String sql = "select * from users where id=?";
37 try {
38 pred = conn.prepareStatement(sql);
39 pred.setInt(1, id);
40 rest = pred.executeQuery();
41 while (rest.next()) {
42 f = true;
43 }
44 } catch (Exception e) {
45 // TODO: handle exception
46 } finally {
47 closeAll(conn, pred, rest);
48 }
49 return f;
50 }
51
52 public void zhuce(Integer id, String uname, String upwd) {
53 Connection conn = getConnection();
54 PreparedStatement pred = null;
55 try {
56 String sql = "insert into users(id,uname,upwd) values(?,?,?)";
57 pred = conn.prepareStatement(sql);
58 pred.setInt(1, id);
59 pred.setString(2, uname);
60 pred.setString(3, upwd);
61 pred.executeUpdate();
62
63 } catch (Exception e) {
64 // TODO: handle exception
65 } finally {
66 closeAll(conn, pred, null);
67 }
68 }
69
70 }

entity

 1 package com.gd.entity;
2
3 import java.util.Date;
4
5 public class Msg {
6 private Integer msgid;
7 private String username;
8 private String title;
9 private String msgcontent;
10 private Integer state;
11 private String sendto;
12 private Date msg_create_date;
13
14 public Integer getMsgid() {
15 return msgid;
16 }
17 public void setMsgid(Integer msgid) {
18 this.msgid = msgid;
19 }
20 public String getUsername() {
21 return username;
22 }
23 public void setUsername(String username) {
24 this.username = username;
25 }
26 public String getTitle() {
27 return title;
28 }
29 public void setTitle(String title) {
30 this.title = title;
31 }
32 public String getMsgcontent() {
33 return msgcontent;
34 }
35 public void setMsgcontent(String msgcontent) {
36 this.msgcontent = msgcontent;
37 }
38 public Integer getState() {
39 return state;
40 }
41 public void setState(Integer state) {
42 this.state = state;
43 }
44 public String getSendto() {
45 return sendto;
46 }
47 public void setSendto(String sendto) {
48 this.sendto = sendto;
49 }
50 public Date getMsg_create_date() {
51 return msg_create_date;
52 }
53 public void setMsg_create_date(Date msg_create_date) {
54 this.msg_create_date = msg_create_date;
55 }
56
57 }
 1 package com.gd.entity;
2
3 public class Users {
4 private Integer id;
5 private String uname;
6 private String upwd;
7 public Integer getId() {
8 return id;
9 }
10 public void setId(Integer id) {
11 this.id = id;
12 }
13 public String getUname() {
14 return uname;
15 }
16 public void setUname(String uname) {
17 this.uname = uname;
18 }
19 public String getUpwd() {
20 return upwd;
21 }
22 public void setUpwd(String upwd) {
23 this.upwd = upwd;
24 }
25
26
27 }

jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 <%
3 request.setCharacterEncoding("utf-8");
4 response.setCharacterEncoding("utf-8");
5 %>
6 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
7 <html>
8 <head>
9 <title>My JSP 'zhuce.jsp' starting page</title>
10 </head>
11 <body>
12 <script type="text/javascript">
13 function dozhuce() {
14 if (loginform2.id.value == "") {
15 alert("没有输入id");
16 return;
17 }
18 if (loginform2.uname.value == "") {
19 alert("没有输入用户名");
20 return;
21 }
22 if (loginform2.upwd.value == "") {
23 alert("没有输入密码");
24 return;
25 }
26 if (loginform2.upwd2.value == "") {
27 alert("没有确认密码");
28 return;
29 }
30 loginform2.submit();
31 }
32 </script>
33 <form action="dozhuce.jsp" name="loginform2" method="post">
34 id: <input type="number" name="id" /><br>
35 用户名:<input type="text" name="uname" /> <br>
36 密码:<input type="password" name="upwd" /> <br>
37 确认密码:<input type="password" name="upwd2" /><br>
38 <input type="button" value="注册" onclick="dozhuce()" />
39 </form>
40 </body>
41 </html>
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 <%@page import="com.gd.dao.UsersDao"%>
3 <%
4 request.setCharacterEncoding("utf-8");
5 response.setCharacterEncoding("utf-8");
6 %>
7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
8 <html>
9 <head>
10 <title>My JSP 'dozhuce.jsp' starting page</title>
11 </head>
12 <body>
13 <%
14 String uid = request.getParameter("id");
15 Integer id = Integer.parseInt(uid);
16 String uname = request.getParameter("uname");
17 String upwd = request.getParameter("upwd");
18 String upwd2 = request.getParameter("upwd2");
19 UsersDao usersDao = new UsersDao();
20 if (upwd.equals(upwd2)) {
21 if (usersDao.id(id)) {
22 out.print("已经有这个id了,即将跳回注册页.....");
23 response.setHeader("refresh", "5;url=zhuce.jsp");
24 } else {
25 usersDao.zhuce(id, uname, upwd);
26 out.print("注册成功,即将跳回登录页.....");
27 response.setHeader("refresh", "5;url=login.jsp");
28 }
29 } else {
30 out.print("两次密码不一致,即将跳回注册页.....");
31 response.setHeader("refresh", "5;url=zhuce.jsp");
32 }
33 %>
34 </body>
35 </html>
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3 <html>
4 <head>
5 <title>My JSP 'login.jsp' starting page</title>
6 </head>
7
8 <body>
9 <script type="text/javascript">
10 function dologin() {
11 if (loginform.uname.value == "") {
12 alert("没有输入用户名");
13 return;
14 }
15 if (loginform.upwd.value == "") {
16 alert("没有输入密码");
17 return;
18 }
19 loginform.submit();
20 }
21 </script>
22 <form action="dologin.jsp" name="loginform" method="post">
23 用户名:<input type="text" name="uname" /> <br>
24 密码:<input type="password" name="upwd" /> <br>
25 <input type="button" value="登录" onclick="dologin()" />
26 <a href="zhuce.jsp">没有账号?立即注册</a>
27 </form>
28 </body>
29 </html>
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 <%@page import="sun.security.jgss.LoginConfigImpl"%>
3 <%@page import="com.gd.dao.UsersDao"%>
4 <%
5 request.setCharacterEncoding("utf-8");
6 response.setCharacterEncoding("utf-8");
7 %>
8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
9 <html>
10 <head>
11 <title>My JSP 'dologin.jsp' starting page</title>
12 </head>
13
14 <body>
15 <%
16 String uname = request.getParameter("uname");
17 String upwd = request.getParameter("upwd");
18 UsersDao ud = new UsersDao();
19 if (ud.login(uname, upwd)) {
20 session.setAttribute("uname", uname);
21 request.getRequestDispatcher("index.jsp").forward(request,
22 response);
23 } else {
24 out.print("登录失败,5s后跳转登录页面");
25 response.setHeader("refresh", "5;url=login.jsp");
26 }
27 %>
28 </body>
29 </html>
  1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 <%@page import="java.util.List"%>
3 <%@page import="com.gd.dao.MsgDao"%>
4 <%@page import="com.gd.entity.Msg"%>
5 <%@page import="sun.security.jgss.LoginConfigImpl"%>
6 <%@page import="com.gd.dao.UsersDao"%>
7 <%
8 request.setCharacterEncoding("utf-8");
9 response.setCharacterEncoding("utf-8");
10 %>
11 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
12 <html>
13 <head>
14 <title>My JSP 'index.jsp' starting page</title>
15 </head>
16 <body>
17 <%
18 String uname = (String) session.getAttribute("uname");
19 if (uname == null) {
20 out.print("您未登录,即将跳回登陆页.....");
21 response.setHeader("refresh", "5;url=login.jsp");
22 } else {
23 %>
24 欢迎你<%=uname%>
25
26
27
28 <%
29 Msg msg = new Msg();
30 MsgDao msgDao = new MsgDao();
31 List<Msg> list = new ArrayList<Msg>();
32 list = msgDao.listAll(uname);
33 %>
34 邮件列表:
35 <table width="600px" border="2px solid blue">
36 <tr>
37 <th>id</th>
38 <th>发件人</th>
39 <th>标题</th>
40 <th>内容</th>
41 <th>已读未读状态</th>
42 <th>收件人</th>
43 <th>发送时间</th>
44 </tr>
45 <%
46 if (list.size() == 0) {
47 out.print("你没有邮件");
48 } else {
49 for (Msg msg1 : list) {
50 %>
51 <tr>
52 <td>
53 <%
54 out.print(msg1.getMsgid());
55 %>
56 </td>
57 <td>
58 <%
59 out.print(msg1.getUsername());
60 %>
61 </td>
62 <td>
63 <%
64 out.print(msg1.getTitle());
65 %>
66 </td>
67 <td>
68 <%
69 out.print(msg1.getMsgcontent());
70 %>
71 </td>
72 <td>
73 <%
74 int state = msg1.getState();
75 if (state == 1) {
76 %> <img src="data:image/yidu.png" /> <%
77 ;
78 } else {
79 %> <img src="data:image/weidu.png" /> <%
80 ;
81 }
82 %>
83 </td>
84 <td>
85 <%
86 out.print(msg1.getSendto());
87 %>
88 </td>
89 <td>
90 <%
91 out.print(msg1.getMsg_create_date());
92 %>
93 </td>
94 </tr>
95 <%
96 }
97 }
98 }
99 %>
100 </table>
101 </body>
102 </html>

搜索

复制

JSP第九次作业的更多相关文章

  1. JAVA第九次作业

    JAVA第九次作业 (一)学习总结 1.用思维导图对javaIO操作的学习内容进行总结. 参考资料: XMind. 2.下面的程序实现了文件的拷贝,但采用的是一个字节一个字节的读写方式,效率很低.使用 ...

  2. 2018-2019-1 20189221 《Linux内核原理与分析》第九周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包 ...

  3. 2017-2018-2 1723《程序设计与数据结构》第九周作业 & 第二周结对编程 总结

    作业地址 第九次作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1878 (作业界面已评分,可随时查看,如果对自己的评分有意 ...

  4. C#基础第九天-作业答案-储蓄账户(SavingAccount)和信用账户(CreditAccount)

    class Bank { //Dictionary<long,Account> dictionary=new Dictionary<long,Account>(); DataT ...

  5. C#基础第九天-作业-储蓄账户(SavingAccount)和信用账户(CreditAccount)

    要求1:完成以下两种账户类型的编码.银行的客户分为两大类:储蓄账户(SavingAccount)和信用账户(CreditAccount),两种的账户类型的区别在于:储蓄账户不允许透支,而信用账户可以透 ...

  6. Jsp实现在线作业提交系统

    Jsp实现在线作业提交系统 作为 Computer Science 的学生,凌晨四点之前睡都应该感到羞耻. 项目托管地址:https://github.com/four-in-the-morning/ ...

  7. Week09《java程序设计》第九次作业总结

    Week09<java程序设计>第九次作业总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 答: 2. 书面作业 本次作业题集集合 1. Li ...

  8. 2017-2018-1 20179205《Linux内核原理与设计》第九周作业

    <Linux内核原理与设计>第九周作业 视频学习及代码分析 一.进程调度时机与进程的切换 不同类型的进程有不同的调度需求,第一种分类:I/O-bound 会频繁的进程I/O,通常会花费很多 ...

  9. 【西北师大-2108Java】第九次作业成绩汇总

    [西北师大-2108Java]第九次作业成绩汇总 作业题目 面向对象程序设计(JAVA) 第11周学习指导及要求 实验目的与要求 (1)理解泛型概念: (2)掌握泛型类的定义与使用: (3)掌握泛型方 ...

  10. “希希敬敬对”队软件工程第九次作业-beta冲刺第五次随笔

    “希希敬敬对”队软件工程第九次作业-beta冲刺第五次随笔 队名:  “希希敬敬对” 龙江腾(队长) 201810775001 杨希                   201810812008 何敬 ...

随机推荐

  1. Java新特性(2):Java 10以后

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 虽然到目前为止Java的版本更新还没有什么惊天动地的改变,但总是会冒出一些有趣的小玩意.前面列举了Java9和Java10的一些特色,现在接着来 ...

  2. oracle常用查看命令

    select sum(bytes/1024/1024/1024) from dba_segments;   #注:查看表空间大小,除以3个1024后的大小为GB du instance_name(实例 ...

  3. winform窗体全局快捷键

    4.使用ShortcutKeys组合键 this.toolStripMenuItem1.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Wind ...

  4. Linux 基础-查看 cpu、内存和环境等信息

    Linux 基础-查看 cpu.内存和环境等信息 在使用 Linux 系统的过程中,我们经常需要查看系统.资源.网络.进程.用户等方面的信息,查看这些信息的常用命令值得了解和熟悉. 1,系统信息查看常 ...

  5. 一个小时,200行代码,手写Spring的IOC、DI、MVC

    一.概述 配置阶段:主要是完成application.xml配置和Annotation配置. 初始化阶段:主要是加载并解析配置信息,然后,初始化IOC容器,完成容器的DI操作,已经完成HandlerM ...

  6. 你真的了解 RSA 加密算法吗?

    作者:小傅哥 博客:https://bugstack.cn 源码:https://github.com/fuzhengwei/java-algorithms 沉淀.分享.成长,让自己和他人都能有所收获 ...

  7. @Transactional注解事务失效的几种场景及原因

    1. 介紹 在业务开发的许多场景中,我们会使用到通过事务去控制多个操作的一致性.比较多的就是通过声明式事务,即使用 @Transactional 注解修饰方法的形式.但在使用过程中,要足够了解事务失效 ...

  8. Velero系列文章(四):使用Velero进行生产迁移实战

    概述 目的 通过 velero 工具, 实现以下整体目标: 特定 namespace 在B A两个集群间做迁移; 具体目标为: 在B A集群上创建 velero (包括 restic ) 备份 B集群 ...

  9. python操作MySQL数据库连接(pymysql)

    目录 一:python操作MySQL 1.python如何操作MySQL? 2.什么是 PyMySQL? 二:PyMySQL 安装 1.方法一: 2.方法二: 三:pyMySQL模块基本使用 1.py ...

  10. 一个简单的工具开发:从学生端更新程序部署工具说起,浅谈qt中自定义控件制作和调用、TCP协议下文件的收发 、以及可执行文件的打包

    一个简单的工具开发:从学生端更新程序部署工具说起,浅谈qt中ui的使用和TCP协议下文件的收发.以及可执行文件的打包 写在前面,Qt Designer是一个非常操蛋的页面编辑器,它非常的...怎么说呢 ...