用户登录2.0版本

1.用户登录后需要显示“‘用户名’+欢迎您!”
2.需具有”退出登录”,点击该文字即退出用户的登录,并返回登录页面。
3.若直接访问登陆成功页面,则引导用户登录后操作。
4.若用户登录失败则引导用户重新登陆

项目要求-Admin

NOTE:
1.首先需要由用户登录页面login.html
—作用:用于跳转到登录服务器做判断。
2.拥有一个判断用户登录输入账号密码是否正确的Servlet
—作用:判断密码是否正确,错误则返回至登录页重新登录。
3.用户登录后页面显示
—作用:如果用户登陆成功显示(“用户名”欢迎您!),且后方需要由“退出登录”,如果退出登录则抹除用户登录数据。
4.抹除数据服务器
—作用:抹除用户登录数据,退出成功则返回登录页

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录页</title>
</head>
<body>
//action="需要跳转到的地址"
<form action="/LoginServlet" method="post">
    用户名:<input type="text" name="username"/><br>
    密码:<input type="password" name="password"/><br>
    <!--性别:<input type="radio" name="sex" value="男"/>男-->
    <!--<input type="radio" name="sex" value="女"/>女<br>-->
    <!--爱好:<input type="checkbox" name="hobby" value="学习"/>学习-->
    <!--<input type="checkbox" name="hobby" value="游戏"/>游戏-->
    <!--<input type="checkbox" name="hobby" value="看书"/>看书<br>-->
    <input type="submit" value="登录">
//本代码套用之前的用户登录
</form>
</body>
</html>

LoginServlet

//包名,指该代码(Servlet)在该包中
package Servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
//导包
@WebServlet("/LoginServlet")//访问该Servlet的虚拟路径
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");//设置编码格式,否则输出为乱码或"???"
        PrintWriter out=response.getWriter();
//上面两行response和PrintWrite不再细说
        request.setCharacterEncoding("utf-8");//用来确保发往服务器的参数的编码格式,设置从request中取得的值或从数据库中取出的值。
//      ------分割线------
        String username=request.getParameter("username");
        String password=request.getParameter("password");
//获取存入的username的值和password的值
//        -----分割线-----
//判断账号是否为"admin"密码是否为"123"
        if(username.equals("admin")&&password.equals("123")){
            HttpSession session=request.getSession();
//将username存入session域,后面会取出
            session.setAttribute("username",username);
//如果判断正确则跳转到"/SuccessServlet"
            response.sendRedirect("/SuccessServlet");
        }
//反之输出"您的密码输入有误,将在3秒后返回登录页面"
//并在3秒后跳转到登录页"index.html"
        else {
            out.print("您的密码输入有误,将在3秒后返回登录页面");
            response.setHeader("Refresh","3;URL=http://localhost:8080/index.html");
        }
    }

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


SuccessServlet

package Servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/SuccessServlet")
public class SuccessServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");//设置编码格式,否则输出为乱码或"???"
        PrintWriter out=response.getWriter();
        request.setCharacterEncoding("utf-8");
//      ------分割线------
        HttpSession session=request.getSession();
//取出session域中的值"username"
        String username=(String) session.getAttribute("username");
//如果username不为空值,则显示欢迎
        if (username!=null){
            out.print(username+"欢迎您!<a href='/LogOutServlet'>退出登录</a>");
        }else{
//否则提示未登录,引导用户登录
            out.print("您还未登录!请返回<a href=http://localhost:8080/index.html>登录</a>");
        }

//        out.print("请先返回登录!<a href=http://localhost:8080/index.html>点击此处跳转</a>");
    }

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


LogOutServlet

package Servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/LogOutServlet")
public class LogOutServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");//设置编码格式,否则输出为乱码或"???"
        PrintWriter out=response.getWriter();
        request.setCharacterEncoding("utf-8");
//        -----分割线-----
        HttpSession session=request.getSession();
//清除(删除、抹除)"username"的数据,且在3秒后跳转至登陆页面
        session.removeAttribute("username");
        out.print("退出成功,即将返回登录页面!");
        response.setHeader("Refresh","3;URL=http://localhost:8080/index.html");

    }
}


蓝奏云盘下载 | 闪电盘下载