用户登录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)条网友点评
朝闻道,夕可四姨