1,思路:
>判断用户是否登录
>>>未登录
>>>>设置权限不能访问。
>>>登录
>>>>管理员登录,将用户名放入session的admin元素中
>>>>普通用户登录,将用户名放到session的customer元素中
2,登录servlet内容
//判断管理员还是普通用户...
if(db_username.contains("admin"))
{
request.getSession().setAttribute("admin", "1");
request.getRequestDispatcher("glmain.jsp").forward(request, response);
}
else
request.getSession().setAttribute("customer","2" );
//比对成功后跳转成功页面
request.getRequestDispatcher("Index").forward(request, response);
}
3,两个过滤器
admin过滤器:
package com.yanqing.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet Filter implementation class AdminFilter
*/
@WebFilter("/admin/*")
public class AdminFilter implements Filter {
public AdminFilter() {
}
/**
* @see Filter#destroy()
*/
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest) request;
HttpServletResponse res=(HttpServletResponse) response;
String admin=(String) req.getSession().getAttribute("admin");
if(admin!=null)
{
chain.doFilter(request, response);
return;
}
else
response.getWriter().write("you connt");
}
public void init(FilterConfig fConfig) throws ServletException {
}
}
user过滤器:
package com.yanqing.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
/**
* Servlet Filter implementation class UserLFilter
*/
@WebFilter("/user/*")
public class UserLFilter implements Filter {
/**
* Default constructor.
*/
public UserLFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest) request;
String admin=(String) req.getSession().getAttribute("admin");
String customer=(String) req.getSession().getAttribute("customer");
System.out.println(admin);
System.out.println(customer);
if(admin!=null)
{
chain.doFilter(request, response);
return;
}
if(customer!=null)
{
chain.doFilter(request, response);
return;
}
else
response.getWriter().write("no login");
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}