setpowerfilter.java

来自「宠物诊所的JAVA-WEB实现」· Java 代码 · 共 74 行

JAVA
74
字号
package com.hellofdeath.tool;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/*
 * 权限过滤,只允许已经登陆的用户使用
 */

public class SetPowerFilter extends HttpServlet implements Filter {

	private static final long serialVersionUID = 2376794037360738395L;

	public void init(FilterConfig arg0) throws ServletException {

	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest hreq = (HttpServletRequest) request;
		HttpSession session = hreq.getSession();
		System.out.println("已经进入权限控制的servlet");

		if (!session.isNew()) {
			if(session.getAttribute("isLogin")==null){
				session.setAttribute("isLogin", "false");
			}
			if (!(session.getAttribute("isLogin").equals("true"))) {
				
				request.getRequestDispatcher("/index.html").forward(request,response);// 转发到登陆页面
			}
			else if(session.getAttribute("isLogin").equals("true")){
				chain.doFilter(request, response);
			}
		} else if(session.isNew()){
			request.getRequestDispatcher("/index.html").forward(request,response);
		}
	}

	public SetPowerFilter() {
		super();
	}

	public void destroy() {
		super.destroy();
	}

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

		response.setContentType("text/html;charset=GBK");
		PrintWriter out = response.getWriter();

		out.flush();
		out.close();
	}

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

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();

		out.flush();
		out.close();
	}

	public void init() throws ServletException {

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?