灵悟礼品网上专卖店——客户端的登录功能开发

一、小组成员:

洪雪意(产品负责人)

陈淑筠(Master 

二、组内人员任务情况

计划完成的第二个任务:客户端的登录功能

已完成的任务: 

陈淑筠(任务2):客户端的登录功能

正在进行的任务:

洪雪意(任务1):网页的构建

任务面板:

登录功能的代码:

import HttpSerlvet.HttpServlet;
import javafx.scene.control.Pagination;
 
import java.io.*;
import java.lang.*;
import java.util.*;
import java.io.IOException;
 
//所要导入的包文件
import javax.servlet.*;
import javax.servlet.http.*;
 
/**
 * Created by babyblue on 2015/5/29.
 */
public class CustomerServlet extends HttpServlet {
 
    //在Servlet中默认情况下,无论是get还是post提交过来,都会经过servlet()方法来处理,然后转向到doGet或是doPost方法,我们可以查看HttpSerlvet类的servlet方法
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//doGet方法
        this.doPost(request, response);//调用doPost方法
    }
 
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("GB2312");//设置请求的编码为GB2312,设置对请求中的中文进行处理。
        response.setCharacterEncoding("GB2312");//设置响应的编码为GB2312,对传到响应页面的中文进行处理。
        response.setContentType("text/html;charset=GB2312");//设置响应页面的编码格式,对传到响应页面的中文进行处理。
        HttpSession session = request.getSession(true);//拿到session对象,session对象主要用于保存用户各种信息,得到JSP端的Session对象,得到该对象后,就可以对其中存放的对象进行操作,也可以将某个对象放入里面。
        PrintWriter out = response.getWriter();//拿到输出流对象,即是构造出一个标准输出流,把想要表达的内容传输到页面上,通常接着会有:out.println("内容");
        PaginationBean handlePage = (PaginationBean) session.getAttribute("handlePage");//PaginationBean用来做业务,负责处理客户端发送的请求
 
        //javaBean在MVC设计模型中是model,又称模型层,在一般的程序中,我们称它为数据层,就是用来设置数据的属性和一些行为,然后我会提供获取属性和设置属性的get/set方法
 
        if (handlePage == null) {
           //如果JavaBean为空将声明新的JavaBean
            handlePage = new PaginationBean();
            String handlePage1 = null;
            session.setAttribute("handlePage", handlePage1);//将声明的JavaBean放进session
        }
        String action = request.getParameter("action");//获得请求动作,当得到动作后就可以根据动作的不同来实现不同的功能。
        if (action == null) {return;}
        if (action.equals("denglu")) {//如果action为"denglu"
            String zname = request.getParameter("zname");//得到用户名
            String zpassword = request.getParameter("zpassword");//将用户密码转码
            String cname = new String(zname.getBytes(), "ISO-8859-1");
            String sql = "select cname from gcustomer where cname='" + cname + "'and cpw='" + zpassword + "'";//给出了从表中查询相关用户信息的SQL语句,根据这句SQL就可以调用selectMsg()方法进行查询。如果验证结果为true,将进行页面跳转。
            boolean s = DB.selectMsg(sql);//调用selectMsg()方法
            if (s) {//结果为真的情况
                session.setAttribute("user", zname);//将用户名放进session
                String fromWhere = (String) session.getAttribute("fromWhere");//从session中取出标志位
                if (fromWhere != null) {
                    if (fromWhere.equals("jz")) {//回结账页
                        this.getServletContext().getRequestDispatcher("/CustomerServlet?action=jiezhang").forward(request, response);//页面跳转
                        return;
                    } else if (fromWhere.equals("wddd")) {//回”我的订单“页
                        this.getServletContext().getRequestDispatcher("/CustomerServlet?action=modify2").forward(request, response);//页面跳转
                        return;
                    } else if (fromWhere.equals("mmcz")) {//回”密码重置“页
                        this.getServletContext().getRequestDispatcher("/customerpwchang.jsp").forward(request, response);//页面跳转
                        return;
                    }
                }
                this.getServletContext().getRequestDispatcher("/pagination.jsp").forward(request, response);//页面跳转
            } else {
                String msg1 = "对不起,登录失败,请重新登录!!!";//页面跳转提示信息
                request.setAttribute("msg", msg1);//当用户在客户端输入用户名或密码错误的时候,当时的页面会显示“对不起,登录失败,请重新登录!!!!”
                this.getServletContext().getRequestDispatcher("/customermanage.jsp").forward(request, response);//页面跳转到error页并显示提示信息
            }
        }
    }
    private void getServletContext() {//getServletContext()方法
 
    }
    private class HttpServletRequest {//HttpServletRequest类
        private String characterEncoding;//声明characterEncoding
        private String contentType;//声明contentType
 
 public HttpSession getSession(boolean b) {//HttpSession getSession()方法
            return null;
        }
        public String getParameter(String action) {//getParameter()方法
            return null;
        }
        public void setAttribute(String msg, String msg1) {//getParameter()方法
  }
public void setCharacterEncoding(String characterEncoding) {//setCharacterEncoding()方法
            this.characterEncoding = characterEncoding;
        }
 
        public String getCharacterEncoding() {
            return characterEncoding;
        }
    }
 
    public void setCharacterEncoding(String gb2312) {
 
    }
 
 
    private class HttpServletResponse {
 
 
        public PrintWriter getWriter() {
            return null;
        }
 
        public void setCharacterEncoding(String gb2312) {
 
        }
 
        public void setContentType(String s) {
 
        }
    }
     private class ServletException extends Exception {
 
    }
 
    private class HttpSession {
 
 
        public void setAttribute(String handlePage, String handlePage1) {
 
        }
        public String getAttribute(String handlePage) {
            return handlePage;
        }
    }
 
    private class PaginationBean {
 
    }
}
原文地址:https://www.cnblogs.com/xuegu/p/4539430.html