1、创建登录页面
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
Title
2、创建用户封装信息类
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private String username;
private String password;
public User(){}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
3、创建判断账号密码的Servlet
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.linkedHashMap;
import java.util.Map;
public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{
response.setContentType("text/html;charset=utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
PrintWriter pw = response.getWriter();
if(("itcast").equals(username) && ("123").equals(password)){
User user = new User();
user.setUsername(username);
user.setPassword(password);
request.getSession().setAttribute("user",user);
response.sendRedirect("/demo_war_exploded/is");
}else {
pw.write("用户名或密码错误,登录失败");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException{
this.doGet(request,response);
}
}
4、创建清除User信息的Servlet
import javax.servlet.http.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class LogoutServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.getSession().removeAttribute("user");
response.sendRedirect("/demo_war_exploded/is");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
this.doGet(request,response);
}
}
5、创建登录后的主界面
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
public class IndexServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=utf-8");
//创建或获取保存用户信息的Session对象
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if(user == null){
response.getWriter().print("您还没有登录,请登录");
}else {
response.getWriter().print("您已登录,欢迎您,"+user.getUsername()+"!");
response.getWriter().print("退出");
}
//创建cookie存放Session的标识号
cookie cookie = new cookie("JSESSIONID",session.getId());
cookie.setMaxAge(60*30);
cookie.setPath("/demo");
response.addcookie(cookie);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException{
this.doGet(request,response);
}
}
6、xml配置
fx
fx
fx
/xfx
LoginServlet
LoginServlet
LoginServlet
/login
LogoutServlet
LogoutServlet
LogoutServlet
/ls
IndexServlet
IndexServlet
IndexServlet
/is