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