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>

 

posted @ 2022-05-13 21:41  藜莂  阅读(27)  评论(0编辑  收藏  举报