TomCat登录网址: http://127.0.0.1:8080/项目名/...
login.html
<html>
<head> <title>用户登录</title>
<meta http-equiv="content-type" content="text/html; charset=GBK">
</head>
<body>
<form method="POST" action="/项目名称/servlet/LoginServlet">
用户: <input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type=submit value="提交">
<input type=reset vlaue="重置">
</form>
</body>
</html>
LoginServlet.java
package com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
String name = request.getParameter("username");
String psw = request.getParameter("password");
if("admin".equals(name) && "888888".equals(psw)){//管理员用户
HttpSession session = request.getSession();
//把登录信息(用户名和用户权限等级)存储在Session中。
session.setAttribute("username",name);
session.setAttribute("grade", "admin");
//重定向到管理员页面
response.sendRedirect("AdminServlet");
}
else if("normal".equals(name) && "123456".equals(psw)){//普通用户
HttpSession session = request.getSession();
//把登录信息(用户名和用户权限等级)存储在Session中。
session.setAttribute("username",name);
session.setAttribute("grade", "normal");
//重定向到管理员页面
response.sendRedirect("NormalServlet");
}
else{//非法用户
out.print("<BR>用户名或密码错误!请重新登录!<br>");
//通过请求转发把登录表单包含进来
request.getRequestDispatcher("/login.html").include(request, response);
}
}
}
AdminServlet.java
package com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class AdminServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
//获取Session中的用户权限信息
String name = (String) session.getAttribute("username");
String grade = (String) session.getAttribute("grade");
//如果不是管理员,重定向到登录页面
if(!"admin".equals(grade)) {
response.sendRedirect("../login.html");
}
//合法用户
out.println("<HTML>");
out.println(" <HEAD><TITLE>管理员页面</TITLE></HEAD>");
out.println(" <BODY>");
out.println("<br>欢迎" + name + "管理员!");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
NormalServlet.java
package com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class NormalServlet extends HttpServlet {
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
//获取Session中的用户权限信息
String name = (String) session.getAttribute("username");
String grade = (String) session.getAttribute("grade");
//如果没有登录,重定向到登录页面
if(!"normal".equals(grade)) {
response.sendRedirect("/login.html");
}
//合法用户
out.println("<HTML>");
out.println(" <HEAD><TITLE>普通用户页面</TITLE></HEAD>");
out.println(" <BODY>");
out.println("<br>欢迎" + name + "用户!");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}