JSP第九次作业
1.建库,建表2个
用户表(id,用户名,密码)
邮件表(id,发件人,收件人,标题,内容,发送时间,状态)
2.建model层
entity,dao包
3.登陆,注册,登陆后显示全部邮件
package com.gd.bean; public class Msg { private int msgid; private String username; private String title; private String msgcontent; private String state; private String sendto; private String msg_create_date; public int getMsgid() { return msgid; } public void setMsgid(int msgid) { this.msgid = msgid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } 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 String getState() { return state; } public void setState(String 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.bean; public class Users { // username VARCHAR(20) PRIMARY KEY, // PASSWORD VARCHAR(20), // email VARCHAR(20) private String username; private String password; private String email; public Users() { } public Users(String username, String password, String email) { super(); this.username = username; this.password = password; this.email = 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; } }
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 { //获取连接 protected Connection getConnection(){ Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver"); // 2.建立连接 conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test", "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(); } } }
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.bean.Msg; public class MsgDao extends BaseDao{ //查询邮件列表方法 public List<Msg> getReceive(String uname){ List<Msg> list = new ArrayList<Msg>(); Connection conn = getConnection(); String sql = "select * from msg where sendto=?"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, uname); ResultSet rs = ps.executeQuery(); while(rs.next()){ Msg msg = new Msg(); msg.setUsername(rs.getString("username")); msg.setTitle(rs.getString("title")); msg.setMsgcontent(rs.getString("msgcontent")); msg.setState(rs.getString("state")); msg.setSendto(rs.getString("sendto")); msg.setMsg_create_date(rs.getString("msg_create_date")); list.add(msg); } closeAll(conn, ps, rs); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }
package com.gd.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.gd.bean.Users; public class UsersDao extends BaseDao{ private static final PreparedStatement preparedStatement = null; //登录 public boolean login(String username,String password){ boolean f = false; Connection conn = getConnection(); String sql = "select * from users where username=? and password =?"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); ResultSet rs = ps.executeQuery(); while(rs.next()){ f=true; } closeAll(conn, ps, rs); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return f; } //注册 public int adduser(Users us){ int q= 0; Connection connection =getConnection(); String sqlString = "insert into users values(?,?,?)"; try { PreparedStatement preparedStatement = connection.prepareStatement(sqlString); preparedStatement.setString(1, us.getUsername()); preparedStatement.setString(2, us.getPassword()); preparedStatement.setString(3, us.getEmail()); q = preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ closeAll(connection,preparedStatement, null); } return q; } }
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>CSS控制表单样式</title> </head> <body> <form action="dologin.jsp" method="post"> <p> <span>账号:</span> <input type="text" name="uname" class="num" /> </p> <p> <span>密码:</span> <input type="password" name="upass" class="pass"/> </p> <p> <input type="submit" class="btn01" value="登录"/> <a href="register.jsp">没有账户?点击注册</a> </p> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="com.gd.dao.*"%> <%@ page import="com.gd.bean.*"%> <% 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></title> </head> <body> <% request.setCharacterEncoding("utf-8"); String name = request.getParameter("uname"); String pass = request.getParameter("upass"); String email = request.getParameter("uemail"); Users us = new Users(); us.setUsername(name); us.setPassword(pass); us.setEamil(email); UsersDao ud = new UsersDao(); if( ud.adduser(us) !=0){ %> <script type="text/javascript"> alert("注册成功"); </script> <% response.sendRedirect("login.jsp"); }else{ %> <script type="text/javascript"> alert("失败"); </script> <% response.sendRedirect("doreg.jsp"); } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="com.gd.dao.*"%> <% 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 'dologin.jsp' starting page</title> </head> <body> <% request.setCharacterEncoding("utf-8"); String name = request.getParameter("uname"); String pass = request.getParameter("upass"); UsersDao ud = new UsersDao(); if(ud.login(name, pass)){ session.setAttribute("name", name); response.sendRedirect("main.jsp"); }else{ response.sendRedirect("login.jsp"); } %> </body> </html>
<%@page import="com.gd.bean.Msg"%> <%@page import="com.gd.dao.MsgDao"%> <%@ 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 'login.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> <% MsgDao md = new MsgDao(); String uname = (String) session.getAttribute("uname"); List<Msg> list = md.getReceive(uname); %> 欢迎你<%=uname%> <a href="write.jsp">写邮件</a> <table border="1"> <tr> <td>标题 </td> <td>是否已读</td> <td>发件人</td> <td>时间</td> <td>操作</td> <td>操作</td> </tr> <%for(int i=0;i<list.size();i++){ %> <tr> <td><a href="readMsg.jsp?mid=<%=list.get(i).getMsgid()%>"><%=list.get(i).getTitle() %></a></td> <td><%int x=list.get(i).getState(); if(x==0){%> <img src="images/sms_readed.png"> <%}else{ %> <img src="images/sms_unReaded.png"> <%} %> </td> <td><%=list.get(i).getUname() %></td> <td><%=list.get(i).getMsg_create_date() %></td> <td><a href="dodel.jsp?mid=<%=list.get(i).getMsgid()%>">删除</a></td> <td><a href="write.jsp?reply=<%=list.get(i).getUname()%>">回复</a></td> </tr> <%} %> </table> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <html> <head> <base href="<%=basePath%>"> </head> <body> <form action="doreg.jsp" method="post"> <p> <span>账号:</span> <input type="text" name="uname" value="admin" class="num" /> </p> <p> <span>密码:</span> <input type="password" name="upass" class="pass"/> </p> <p> <span>邮箱:</span> <input type="email" name="uemail" class="pass"/> </p> <p> <input type="submit" class="btn01" value="注册"/> <a href="login.jsp">注册完成返回登录</a> </p> </form> </body> </html>