Jsp第十一次作业
1.第十二周上机作业(邮件功能)的控制层代码改用为servlet实现。
2.学习通发布了考试,截止到5.27晚8点。
第一servlet部分
登录:
package Email.servletPackage; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import Email.daoPackage.UsersDao; public class DengluServlet extends HttpServlet { /** * Constructor of the object. */ public DengluServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();//创建out对象 HttpSession session= request.getSession();//在servlet中获取session response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String uname = request.getParameter("name"); String upassword = request.getParameter("password"); UsersDao ud = new UsersDao(); if (ud.DengLu(uname, upassword)) { session.setAttribute("user", uname); request.getRequestDispatcher("T1-Email/main.jsp").forward(request,response); } else { out.print("登陆失败,3秒后返回登录页!"); response.setHeader("refresh", "3;url=T1-Email/Email1.jsp"); } } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
注册:
package Email.servletPackage; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Email.daoPackage.UsersDao; public class ZhuceServlet extends HttpServlet { /** * Constructor of the object. */ public ZhuceServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();//创建out对象 response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String uname = request.getParameter("name"); String upassword1 = request.getParameter("password1"); UsersDao ud = new UsersDao(); int i = ud.ZhuCe(uname, upassword1); if (i > 0) { out.print("注册成功,3秒后跳转登录页!"); response.setHeader("refresh", "3;url=T1-Email/Email1.jsp"); } else { out.print("注册失败,3秒后返回注册页!"); response.setHeader("refresh", "3;url=T1-Email/Email2.jsp"); } } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
写信:
package Email.servletPackage; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import Email.daoPackage.EmailDao; import Email.entityPackage.Email; public class WriteServlet extends HttpServlet { /** * Constructor of the object. */ public WriteServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();//创建out对象 HttpSession session= request.getSession();//在servlet中获取session request.setCharacterEncoding("utf-8"); String name=(String)session.getAttribute("user");// 发件人在session中获取 String shou=request.getParameter("shou"); //收件人 String title=request.getParameter("head"); String content=request.getParameter("body"); Email e=new Email(); e.setEfa(name); e.setEtitle(title); e.setEcontent(content); e.setEname(shou); EmailDao ed=new EmailDao(); ed.addEmail(e); out.print("发送成功,即将跳转到首页!"); response.setHeader("refresh", "3;url=T1-Email/main.jsp"); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
查看:
package Email.servletPackage; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import Email.daoPackage.EmailDao; import Email.entityPackage.Email; public class LookServlet extends HttpServlet { /** * Constructor of the object. */ public LookServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();//创建out对象 HttpSession session=request.getSession(); String id = request.getParameter("id"); int eid = Integer.parseInt(id); EmailDao ed = new EmailDao(); ed.GauBian(eid); Email email = ed.getOneEmail(eid); session.setAttribute("email", email); request.getRequestDispatcher("T1-Email/Look.jsp").forward(request, response); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
删除:
package Email.servletPackage; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Email.daoPackage.EmailDao; public class DelServlet extends HttpServlet { /** * Constructor of the object. */ public DelServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();//创建out对象 request.setCharacterEncoding("utf-8"); int emailId=Integer.parseInt(request.getParameter("id")); EmailDao ed=new EmailDao(); ed.delEmail(emailId); response.sendRedirect("T1-Email/main.jsp"); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
退出:
package Email.servletPackage; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class ByeServlet extends HttpServlet { /** * Constructor of the object. */ public ByeServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();//创建out对象 HttpSession session= request.getSession();//在servlet中获取session out.print("退出成功,3秒后返回登录页!"); session.invalidate(); response.setHeader("refresh", "3;url=T1-Email/Email1.jsp"); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
第二jsp部分
登录:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Email1.jsp</title> </head> <body> <form action="../DengluServlet" method="post" name="one"> 请输入用户名:<input name="name" type="text"><br> 请输入密码: <input name="password" type="password"><br> <input type="button" value="登录" onclick="denglu()"> <a href="Email2.jsp">注册新用户 </a> <script type="text/javascript"> function denglu() { if (one.name.value == "") { alert("用户名不能为空!"); return; } if (one.password.value == "") { alert("密码不能为空!"); return; } one.submit(); } </script> </form> </body> </html>
注册:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Email2.jsp</title> </head> <body> <form action="panduan2.jsp" method="post" name="two"> 请输入用户名:<input name="name" type="text"><br> 请输入密码: <input name="password1" type="password"><br> 再次输入密码:<input name="password2" type="password"><br> <input type="button" value="注册" onclick="zhuce()"> <a href="Email1.jsp">返回登录</a> <script type="text/javascript"> function zhuce() { if (two.name.value == "") { alert("用户名不能为空!"); return; } if (two.password1.value == "") { alert("密码不能为空!"); return; } if (two.password2.value == "") { alert("再次输入密码不能为空!"); return; } if (two.password1.value != two.password2.value) { alert("密码不一致,请重新输入!"); return; } two.submit(); } </script> </form> </body> </html>
主页:
<%@page import="Email.entityPackage.Email"%> <%@page import="Email.daoPackage.EmailDao"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>main.jsp</title> </head> <body> <% EmailDao mail=new EmailDao(); String user=(String) session.getAttribute("user"); List<Email> MailList=mail.getAllEmail(user); %> 欢迎你:<%=user %> <a href="Write.jsp">写邮件</a> <br><br> <table border="1px" cellpadding="15px" align="center"> <tr> <td>编号</td> <td>收件人</td> <td>标题</td> <td>状态</td> <td>发件人</td> <td>时间</td> <td>操作</td> <td>操作</td> </tr> <%for(int i=0;i<MailList.size();i++){ %> <tr> <td><%out.print(MailList.get(i).getEid()); %></td> <td><%out.print(MailList.get(i).getEname());%></td> <td><a href="../LookServlet?id=<%=MailList.get(i).getEid()%>"><%out.print(MailList.get(i).getEtitle()); %></a></td> <td> <%if(MailList.get(i).getEstate()==0){ %> <img src="images/weidu.png"/> <%}else{ %> <img src="images/yidu.png"/> <%} %> </td> <td><%out.print(MailList.get(i).getEfa()); %></td> <td><%out.print(MailList.get(i).getEtime()); %></td> <td><a href="Write.jsp?reply=<%=MailList.get(i).getEfa()%>">回复</a></td> <td><a href="../DelServlet?id=<%=MailList.get(i).getEid()%>">删除</a></td> </tr> <%} %> </table> <br><a href="../ByeServlet">退出登录</a> </body> </html>
写信:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'Write.jsp' starting page</title> </head> <body> <form action="../WriteServlet" method="post" > 收件人:<input type="text" name="shou" value="<%=request.getParameter("reply")%>"><br> 主 题: <input type="text" name="head"><br> 内 容:<br> <textarea rows="10" cols="30" name="body"></textarea> <br> <input type="submit" value="发送邮件"> <a href="main.jsp">返回</a> </form> </body> </html>
查看:
<%@page import="Email.entityPackage.Email"%> <%@page import="Email.daoPackage.EmailDao"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'Look.jsp' starting page</title> </head> <body> <% String id = request.getParameter("id"); int eid = Integer.parseInt(id); EmailDao ed = new EmailDao(); ed.GauBian(eid); Email email = ed.getOneEmail(eid); %> <h3>邮件详情</h3> <table border="1px" cellpadding="15px"> <tr> <td>发件人:</td> <td><%=email.getEfa()%></td> </tr> <tr> <td>主题:</td> <td><%=email.getEtitle()%></td> </tr> <tr> <td>内容:</td> <td><%=email.getEcontent()%></td> </tr> <tr> <td>时间:</td> <td><%=email.getEtime()%></td> </tr> </table><br> <a href="T1-Email/main.jsp">返回</a> </body> </html>