servlet 登陆注销案例

public class UserDao {
private static Map<String,String> userMap = new HashMap<String, String>();
static{
userMap.put("溜得滑", "123");
userMap.put("锅副成", "123");
userMap.put("章靴有", "123");
userMap.put("张乾", "123");
}
public static boolean isUser(String name,String psw){
if(userMap.containsKey(name) && psw.equals(userMap.get(name))){
return true;
}
return false;
}

}

public class IndexServlet extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out =response.getWriter();
if(request.getSession(false)== null || request.getSession().getAttribute("user") == null){
response.getWriter().write("欢迎光临!游客!<a href='"+request.getContextPath()+"/Login.html'>登陆</a> <a href='#'>注册</a>");
}else{
response.getWriter().write("欢迎回来!"+request.getSession().getAttribute("user")+"!<a href='"+request.getContextPath()+"/servlet/LogoutServlet'>注销</a>");
}
}


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


}


}

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
  <h1>用户登陆</h1><hr>
  <form action="/Day05/servlet/LoginServlet" method="post">
  用户名<input type="text" name="username"/><br>
  密码<input type="password" name="password"/><br>
  <input type="submit" value="登陆"/>
  </form>
  </body>
</html>

public class LoginServlet extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//1.获取请求参数中的用户名密码
String username = request.getParameter("username");
String psw = request.getParameter("password");
//2.校验用户名和密码是否正确
if(UserDao.isUser(username, psw)){
//登录
request.getSession().setAttribute("user", username);
//重定向到主页
response.sendRedirect(request.getContextPath()+"/servlet/IndexServlet");
}else{
response.getWriter().write("用户名密码错误!!3秒后回到主页,请重新登陆!");
response.setHeader("refresh", "3;url="+request.getContextPath()+"/servlet/IndexServlet");
}
}


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


}


}

public class LogoutServlet extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
if(request.getSession(false) != null){
request.getSession().invalidate();
}
response.sendRedirect(request.getContextPath()+"/servlet/IndexServlet");
}


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


}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值