jsp第12周作业
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>登录界面</title> </head> <body> <form action="dologin.jsp" method="post"> 用户名:<input type="text" name="uname" value="小明" /><Br> 密码 :<input type="password" name="upwd" value="123456"/><br> <input type="submit" value="登录"> </form> </body> </html>
<%@page import="com.syxx.entity.Users"%> <%@page import="com.syxx.entity.Msg"%> <%@page import="com.syxx.dao.MsgDao"%> <%@page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>主页面</title> </head> <body> 欢迎页面!!!欢迎你!!! <% request.setCharacterEncoding("utf-8"); Users u = (Users) session.getAttribute("user"); String name = u.getUsername(); out.print(name); MsgDao msgd = new MsgDao(); List<Msg> list = msgd.findMsgUsername(name); out.print(list.size()); %> <a href="write.jsp">写邮件</a> <table border="1" width="1000"> <tr> <td>邮件id</td> <td>发件人</td> <td>标题</td> <td>收件人</td> <td>状态</td> <td>时间</td> <td> </td> <td> </td> </tr> <% for (int i = 0; i < list.size(); i++) { %> <tr> <td><%=list.get(i).getMsgid()%></td> <td><%=list.get(i).getUsername()%></td> <td><a href="detail.jsp?id=<%=list.get(i).getMsgid()%>"><%=list.get(i).getTitle()%></a></td> <td><%=list.get(i).getSendto()%></td> <td> <% if (list.get(i).getState() == 1) { %> <img src="images/sms_unReaded.png"></img> <% } else { %> <img src="images/sms_readed.png"></img> <% } %> </td> <!-- 0已读,1未读 --> <td><%=list.get(i).getMsg_create_date()%></td> <td><a href="write.jsp?mailto=<%=list.get(i).getUsername()%>">回复</a></td> <td><a href="delete.jsp?id=<%=list.get(i).getMsgid()%>">删除</a></td> </tr> <%} %> </talbe> </body> </html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> <%request.setCharacterEncoding("utf-8");%> <form action="dowrite.jsp" method="post"> <p> 收件人:<input type="text" name="sjr" value=<%=request.getParameter("mailto")%> /> </p> <% out.print(request.getParameter("mailto")); %> <p> 标题:<input type="text" name="title" /> </p> <p> 内容:<input type="text" name="content" /> </p> <input type="submit" value="发送"> </form> <a href="main.jsp">返回</a> </body> </html>
<%@page import="com.syxx.entity.Users"%> <%@page import="com.syxx.entity.Msg"%> <%@page import="com.syxx.dao.MsgDao"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% request.setCharacterEncoding("utf-8"); Users u = (Users) session.getAttribute("user"); String uname = request.getParameter("sjr"); String title = request.getParameter("title"); String content = request.getParameter("content"); Msg m = new Msg(); m.setUsername(u.getUsername());//发件人 登陆者 m.setSendto(uname);//收件人: 上一页面填写的 m.setTitle(title); m.setMsg_create_date(new Date()); m.setMsgcontent(content); MsgDao md = new MsgDao(); if(md.insert(m)){ request.getRequestDispatcher("main.jsp").forward(request, response); } %>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="com.syxx.entity.Users"%> <%@page import="com.syxx.dao.UsersDao"%> <% //设置编码集 request.setCharacterEncoding("utf-8"); //获取uanme 与 upwd String uname = request.getParameter("uname"); String upwd = request.getParameter("upwd"); UsersDao ud = new UsersDao(); if (ud.login(uname, upwd)){ //登录成功,创建User对象,并放入session Users u=new Users(); u.setUsername(uname); u.setPassword(upwd); session.setAttribute("user", u); //转发 request.getRequestDispatcher("main.jsp").forward(request, response); } else{ //重定向 response.sendRedirect("index.jsp"); } %>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import="com.syxx.dao.MsgDao" %> <%@ page import="com.syxx.entity.Msg"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> <% int id = Integer.parseInt(request.getParameter("id")); MsgDao md = new MsgDao(); Msg m = md.findMsgId(id); md.alterMsg(id); %> <p> 题目:<%=m.getTitle()%></p> <p> 来自:<%=m.getUsername()%></p> <p> 时间:<%=m.getMsg_create_date()%></p> <p> 内容:<%=m.getMsgcontent()%></p> 回复 <a href="main.jsp">返回</a> </body> </html>
<%@page import="com.syxx.dao.MsgDao"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> <% int id = Integer.parseInt(request.getParameter("id")); MsgDao msgd = new MsgDao(); if(msgd.delectMsg(id)){ request.getRequestDispatcher("main.jsp").forward(request, response); } %> </body> </html>
package com.syxx.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtils { //获取连接的方法 public static Connection getCon() throws Exception { //1注册和加载驱动 Class.forName("com.mysql.jdbc.Driver"); //2.获取连接 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/keshe","root","root"); return con; } //关闭资源 释放资源 public static void release(ResultSet rs,Statement stmt,Connection con) { if(rs!=null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } rs = null; } if(stmt!=null) { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } stmt = null; } if(con!=null) { try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } con = null; } } }
package com.syxx.entity; public class Users { String username; String password; String 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.syxx.entity; import java.util.Date; public class Msg { int msgid; String username; String title; String msgcontent; int state; String sendto; Date msg_create_date; public Date getMsg_create_date() { return msg_create_date; } public void setMsg_create_date(Date msg_create_date) { this.msg_create_date = 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 int getState() { return state; } public void setState(int state) { this.state = state; } public String getSendto() { return sendto; } public void setSendto(String sendto) { this.sendto = sendto; } @Override public String toString() { return "Msg [msgid=" + msgid + ", username=" + username + ", title=" + title + ", msgcontent=" + msgcontent + ", state=" + state + ", sendto=" + sendto + ", msg_create_date=" + msg_create_date + "]"; } }
package com.syxx.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.syxx.util.JDBCUtils; public class UsersDao { //登录操作 public boolean login(String uname,String upwd) { //建立连接的对象 Connection con = null; //执行SQL语句的对象 PreparedStatement stmt = null; //返回结果集的对象 ResultSet rs = null; try { //1、建立连接 con = JDBCUtils.getCon(); //2、获取执行SQL语句的对象 String sql = "select * from user where name=? and password=?"; stmt = con.prepareStatement(sql); stmt.setString(1, uname); stmt.setString(2, upwd); rs = stmt.executeQuery(); if(rs.next()) { return true; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { JDBCUtils.release(rs, stmt, con); } return false; } }
package com.syxx.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.syxx.entity.Msg; import com.syxx.util.JDBCUtils; public class MsgDao { //1 提供添加方法 public boolean insert(Msg msg) { Connection con = null; Statement stmt = null; try { //1创建连接对象 con = JDBCUtils.getCon(); //2 获取执行SQL语句的对象 stmt = con.createStatement(); //3执行sql语句 java.util.Date birthday = msg.getMsg_create_date(); String sqlBirthDay = String.format("%tF", birthday); String sql = "insert into msg(username,title,msgcontent,state,sendto,msg_create_date)"+"values('" +msg.getUsername()+"','" +msg.getTitle()+"','" +msg.getMsgcontent()+"','" +msg.getState()+"','" +msg.getSendto()+"','" +sqlBirthDay+"'" +")"; //System.out.println(sql); int row = stmt.executeUpdate(sql); if(row>0) { return true; } }catch(Exception e){ e.printStackTrace(); }finally { JDBCUtils.release(null, stmt, con); } return false; } //2根据name查询信息 public List<Msg> findMsgUsername(String username) { Connection con = null; PreparedStatement stmt = null; ResultSet rs = null; try { //1创建连接对象 con = JDBCUtils.getCon(); //2 获取执行SQL语句的对象 String sql = "select * from msg where username =?"; stmt = con.prepareStatement(sql); //3执行sql语句 stmt.setString(1,username); //System.out.println(sql); rs = stmt.executeQuery(); //遍历 rs List<Msg> list = new ArrayList<Msg>(); while(rs.next()) { //一行数据对应一个对象 获取每一行数据,就设置一个user对象 Msg msg = new Msg(); msg.setMsgid(rs.getInt("msgid")); msg.setUsername(rs.getString("username")); msg.setTitle(rs.getString("title")); msg.setMsgcontent(rs.getString("msgcontent")); msg.setState(rs.getInt("state")); msg.setSendto(rs.getString("sendto")); java.sql.Date msgDate = rs.getDate("msg_create_date"); msg.setMsg_create_date(msgDate); list.add(msg); } return list; }catch(Exception e) { throw new RuntimeException(e); }finally { JDBCUtils.release(rs, stmt, con); } } //3、根据id来删除Msg public boolean delectMsg(int id) { Connection con = null; PreparedStatement stmt = null; try { //1创建连接对象 con = JDBCUtils.getCon(); //2 获取执行SQL语句的对象 String sql = "delete from msg where msgid =?"; stmt = con.prepareStatement(sql); stmt.setInt(1,id); //3执行sql语句 int row = stmt.executeUpdate(); if(row>0) { return true; } }catch(Exception e) { throw new RuntimeException(e); }finally { JDBCUtils.release(null, stmt, con); } return false; } //4根据id查找Msg对象 public Msg findMsgId(int msgid) { Connection con = null; PreparedStatement stmt = null; ResultSet rs = null; try { //1创建连接对象 con = JDBCUtils.getCon(); //2 获取执行SQL语句的对象 String sql = "select * from msg where msgid =?"; stmt = con.prepareStatement(sql); //3执行sql语句 stmt.setInt(1,msgid); System.out.println(sql); rs = stmt.executeQuery(); //遍历 rs if(rs.next()) { //一行数据对应一个对象 获取每一行数据,就设置一个user对象 Msg msg = new Msg(); msg.setMsgid(rs.getInt("msgid")); msg.setUsername(rs.getString("username")); msg.setTitle(rs.getString("title")); msg.setMsgcontent(rs.getString("msgcontent")); msg.setState(rs.getInt("state")); msg.setSendto(rs.getString("sendto")); java.sql.Date msgDate = rs.getDate("msg_create_date"); msg.setMsg_create_date(msgDate); return msg; } }catch(Exception e) { throw new RuntimeException(e); }finally { JDBCUtils.release(rs, stmt, con); } return null; } //修改邮件状态 public boolean alterMsg(int msgId) { Connection con = null; PreparedStatement stmt = null; try { //1创建连接对象 con = JDBCUtils.getCon(); //2 获取执行SQL语句的对象 String sql = "update msg set state=? where msgid =?"; stmt = con.prepareStatement(sql); stmt.setInt(1,2); stmt.setInt(2,msgId); //3执行sql语句 int row = stmt.executeUpdate(); if(row>0) { return true; } }catch(Exception e) { throw new RuntimeException(e); }finally { JDBCUtils.release(null, stmt, con); } return false; } }