authenticationfilter.java

来自「JSP移动商品管理平台源代码.........」· Java 代码 · 共 94 行

JAVA
94
字号
package filter;
// Download by http://www.codefans.net
import java.io.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;


import javax.xml.parsers.*;import org.xml.sax.*;import org.w3c.dom.*;//import org.apache.crimson.tree.XmlDocument;


public class authenticationFilter implements Filter{

  private FilterConfig filterConfig;
  //
  public void init(FilterConfig filterConfig) throws ServletException {
      this.filterConfig=filterConfig;
      
      //get appConfig
	        ServletContext context=filterConfig.getServletContext();
	        InputStream appconfig=context.getResourceAsStream((String)context.getInitParameter("applicationHome"));
			         
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                DocumentBuilder db=null;
		
		try                {                   db = dbf.newDocumentBuilder();
                }
                catch(ParserConfigurationException pce){
          	   System.out.println("parserConfigurationException"+pce.getMessage());
                }  
           
                Document doc =null;
                try   
                {                      doc = db.parse(appconfig);
                }   
                catch(IOException ee){
                   System.out.println("ioexcepion"+ee.getMessage());
                }
                catch(SAXException ew){ 
                   System.out.println("SAXException"+ew.getMessage());
                }   
		
		NodeList direclist=doc.getElementsByTagName("applicationconfig");
		Node configid;
		for (int ctr=0;ctr<direclist.getLength();ctr++){
		   configid=direclist.item(ctr);
		   NamedNodeMap attribs=configid.getAttributes();
		   Node attrib=attribs.getNamedItem("name");
		   String direcname=attrib.getNodeValue();
		   if (ctr==0) {context.setAttribute("appHome",direcname);}
		   if (ctr==1) {context.setAttribute("dbdriver",direcname);}		   
		   if (ctr==2) {context.setAttribute("serverURL",direcname);}		   
		   if (ctr==3) {context.setAttribute("username",direcname);}		   
		   if (ctr==4) {context.setAttribute("password",direcname);}
		   
		   		  
	        }
   
      
      //
      
      
      }
  //
  public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws
             IOException,ServletException {
             
             
             HttpServletRequest request=(HttpServletRequest) req;    
             HttpServletResponse response=(HttpServletResponse) res;
             
             if (request.getSession().getAttribute("loginuser")==null)
               {  
               	RequestDispatcher dispatcher=filterConfig.getServletContext().getRequestDispatcher("/login.jsp");
               	dispatcher.forward(request,response);
               }
             else {
                chain.doFilter(request,response);	
             }	

  }
  //
  public void destroy(){}


}

⌨️ 快捷键说明

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