第十三周JSP作业
1.第十二周上机作业(邮件功能)的控制层代码改用为servlet实现。
<%@ 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> <title>My JSP 'register.jsp' starting page</title> </head> <body> <script type="text/javascript"> function validate(){ if(registerForm.uname.value==""){ alert("账号不能为空!"); return; } if(registerForm.upwd.value==""){ alert("密码不能为空!"); return; } registerForm.submit(); } </script> <form name="registerForm" action="DoregServlet" method="post"> 用户名:<input type="text" name="uname"><br> 密 码: <input type="password" name="upwd"> <br> <input type="submit" value="注册" > <a href="denglu.jsp">登录</a> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <script type="text/javascript"> function validate(){ if(loginForm.uname.value==""){ alert("账号不能为空!"); return; } if(loginForm.upwd.value==""){ alert("密码不能为空!"); return; } loginForm.submit(); } </script> <form name="loginForm" action="DologinServlet" method="post"> 用户名:<input type="text" name="uname" ><br> 密码: <input type="password" name="upwd" > <input type="button" value="登录" onClick="validate()"> <a href="register.jsp">注册</a> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'write.jsp' starting page</title> </head> <body> <form action="DowriteServlet" method="post"> 收件人:<input type="text" name="receiver" value="<%=request.getParameter("reply")%>"><br> 主题: <input type="text" name="title" ><br> 内容 <textarea rows="6" cols="20" name="content"></textarea> <br> <input type="submit" value="发送"><br> <a href="main.jsp">返回</a> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="com.gd.entity.Msg"%> <%@ page import="com.gd.dao.MsgDao"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'main.jsp' starting page</title> </head> <body> <% String uname = (String) session.getAttribute("uname"); %> 欢迎你<% out.print(uname); %>使用邮箱 <hr> <a href="write.jsp">写邮件</a> <table border="1"> <tr> <td>发件人</td> <td>标题</td> <td>状态</td> <td>时间</td> <td>操作</td> <td>操作</td> <% MsgDao md = new MsgDao(); List<Msg> list = md.getMailByReceiver(uname); for (int i = 0; i < list.size(); i++) { %> <tr> <td><%=list.get(i).getUsername()%></td> <td><a href="detail.jsp?id=<%=list.get(i).getMsgid()%>"><%=list.get(i).getMsgcontent() %></a> </td> <td> <% if (list.get(i).getState() == 1) { %> <img src="images/weidu.png"/> <% } else { %><img src="images/yidu.png"/> <% } %> </td> <td><%=list.get(i).getMsg_create_date()%></td> <td><a href="DeleteServlet?id=<%=list.get(i).getMsgid()%>">删除</a> </td> <td><a href="write.jsp?reply=<%=list.get(i).getUsername()%>">回复</a> </td> </tr> <% } %> </table> </body> </html>
package com.gd.servelet; 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 com.gd.dao.MsgDao; import com.gd.dao.UsersDao; public class DoregServlet extends HttpServlet { /** * Constructor of the object. */ public DoregServlet() { 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 { String uname=request.getParameter("uname"); String upwd=request.getParameter("upwd"); UsersDao ud=new UsersDao(); MsgDao md=new MsgDao(); if(ud.register(uname, upwd)>0){ request.getSession().setAttribute("uname", uname); request.getRequestDispatcher("denglu.jsp").forward(request,response); }else{ response.setHeader("refresh","5;url=register.jsp"); } } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
package com.gd.servelet; 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 com.gd.dao.UsersDao; public class Dologinservlet extends HttpServlet { /** * Constructor of the object. */ public Dologinservlet() { 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 { String uname = request.getParameter("uname"); String upwd = request.getParameter("upwd"); UsersDao ud = new UsersDao(); if (ud.login(uname, upwd)) { request.getSession().setAttribute("uname", uname); request.getRequestDispatcher("main.jsp").forward(request, response); } else { response.setHeader("refresh", "5;url=denglu.jsp"); } } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }