用户登录2.0版本
1.用户登录后需要显示“‘用户名’+欢迎您!”
2.需具有”退出登录”,点击该文字即退出用户的登录,并返回登录页面。
3.若直接访问登陆成功页面,则引导用户登录后操作。
4.若用户登录失败则引导用户重新登陆项目要求-Admin
NOTE:
1.首先需要由用户登录页面login.html
—作用:用于跳转到登录服务器做判断。
2.拥有一个判断用户登录输入账号密码是否正确的Servlet
—作用:判断密码是否正确,错误则返回至登录页重新登录。
3.用户登录后页面显示
—作用:如果用户登陆成功显示(“用户名”欢迎您!),且后方需要由“退出登录”,如果退出登录则抹除用户登录数据。
4.抹除数据服务器
—作用:抹除用户登录数据,退出成功则返回登录页
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");
- }
- }
文章有(1)条网友点评
朝闻道,夕可四姨