欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

千锋20200417

程序员文章站 2024-01-28 16:53:58
...

在千锋“逆战”学习第55天

      每日一句:测试是来表明bug的存在而不是不存在
      今天学习了response操作响应正文、request操作请求行、request操作请求头、request操作请求参数、请求参数中文乱码、request操作请求转发、请求转发和重定向、request作为域对象。
      下周继续努力。


作业

千锋20200417

  • User.java
public class User {
    private String username;
    private String password;

    public User() {
    }

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    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;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}
  • InitServlet.java
@WebServlet(name = "InitServlet",urlPatterns = "/initServlet",loadOnStartup = 1)
public class InitServlet extends HttpServlet {
    @Override
    public void init() throws ServletException {
        //创建一个List集合保存用户注册信息
        List<User> userList = new ArrayList<User>();
        //将List集合保存到ServletContext作用域
        this.getServletContext().setAttribute("list",userList);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}
  • RegisterServlet
@WebServlet(name = "RegisterServlet",urlPatterns = "/registerServlet")
public class RegisterServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
        ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
        try {
            Map<String, String> map = new HashMap < String, String>();
            List<FileItem> list = servletFileUpload.parseRequest(request);
            for (FileItem fileItem : list) {
                String name = fileItem.getFieldName();
                String value = fileItem.getString("utf-8");
                map.put(name,value);
            }
            List<User> userList = (List<User>) this.getServletContext().getAttribute("list");
            //检验用户名
            for(User u:userList){
                if(u.getUsername().equals(map.get("username"))){
                    request.setAttribute("msg","用户名存在");
                    request.getRequestDispatcher("/register.html").forward(request,response);
                    return;
                }
            }
            User user = new User();
            user.setUsername(map.get("username"));
            user.setPassword(map.get("password"));
            userList.add(user);
            this.getServletContext().setAttribute("list",userList);
            request.getRequestDispatcher("/login.html").forward(request,response);
        } catch (FileUploadException e) {
            e.printStackTrace();
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);

    }
}
  • LoginServlet
@WebServlet(name = "LoginServlet",urlPatterns = "/loginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //从ServletContext域中获得用户信息
        List<User> list = (List<User>) this.getServletContext().getAttribute("list");
        for(User user:list){
            if(username.equals(user.getUsername())&&password.equals(user.getPassword())){
                request.getSession().setAttribute("user",user);
                response.sendRedirect("success.html");
                return;
            }
        }
        request.setAttribute("msg","登录失败");
        request.getRequestDispatcher("/login.html").forward(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}
  • login.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>
<body>
<form action="/loginServlet" method="post">
    用户名:<input type="text" name="username"><br>
    密码:<input type="password" name="password"><br>
    <button type="submit">登录</button>
</form>
</body>
</html>
  • register.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body>
    <form action="/registerServlet" method="post">
        用户名:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        <button type="submit">注册</button>
    </form>
</body>
</html>
  • success.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录成功</title>
</head>
<body>
    登录成功
</body>
</html>
相关标签: 作业