LoginService.java
package edu.cn;
public class LoginService {
public static boolean login(String username, String password) {
if ("admin".equals(username) && "123456".equals(password)) {
return true;
} else {
return false;
}
}
}
Login.jsp登錄頁面:
<body>
<%@ page import= "edu.cn.LoginService,java.sql.*"%>
<%
//1.獲取客戶端的Cookie
Cookie[] cookies =request.getCookies();
String[] cooks = null;
String username = null;
String password = null;
if (cookies!=null&&cookies.length!=0) {
for (Cookie coo : cookies) {
//2.根據cookie的名字尋找cookie,並獲取它的值。
if("user".equals(coo.getName())){
username =coo.getValue();
}
if("pass".equals(coo.getName())){
password=coo.getValue();
}
}
}
if (LoginService.login(username, password)) {
session.setAttribute("username", username);
response.sendRedirect("main.jsp");
}else{
//3.設計form表單
response.sendRedirect("MyHtml.html");
}
%>
<br>
</body>
LoginServlet.java中的核心代碼
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//1.獲取form表單傳遞來的數據
String username=request.getParameter("username");
String password=request.getParameter("password");
String savetime=request.getParameter("time");
//2.如果輸入的用戶名和密碼爭取,則將用戶名和密碼設置爲2個cookie,發送給客戶端
if(LoginService.login(username, password)){
if(null!=savetime&&savetime.length()>0){
int saveTime=Integer.parseInt(savetime);
int seconds=saveTime*24*60*60;
//3.創建2個cookie,名字分別爲user和password,併爲它們設置相關內容
Cookie cookie =new Cookie("user",username);
cookie.setMaxAge(seconds);
cookie.setPath("/");
Cookie cookie2=new Cookie("pass",password);
cookie2.setMaxAge(seconds);
cookie2.setPath("/");
//4.添加cookie,發送給客戶端
response.addCookie(cookie);
response.addCookie(cookie2);
}
request.getRequestDispatcher("/main.jsp").forward(request,response);
}else{
request.getRequestDispatcher("/index.jsp").forward(request,response);
}
}
}
main.jsp頁面
<body>
登錄成功,歡迎${username}的到來
</body>
index.jsp頁面
<body>
<a href="Login.jsp"> 登陸</a>
</body>